Rotierendes Menü

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Rotierendes Menü

      Mir ist klar, dass das hier niemand so bald lesen wird, aber egal. Wer ein rotierendes Menü in seinem Spiel haben will kann diese drei Skripte verwenden. Man kann praktisch alles umstellen (speed, radius, anzahl der icons, noch mindestens 2x speed für was anderes, sprites, die button,...).
      Hier das init (skipt beim createn ausführen):

      GML-Quellcode

      1. act=-1
      2. angle=0
      3. n=-1
      4. dis=0
      5. gotomid=1
      6. out=false


      Hier das step skript:

      GML-Quellcode

      1. left_b=argument0 //button mit dem man nach links steuert
      2. right_b=argument1 //rechts
      3. enter_b=argument2 //auswahl button, achja ist noch nicht im skript drinnen, einfach bei mid eine abfrage machen und schauen was act ist
      4. r=argument3 //radius
      5. stp_to_mid=argument4 //wie viele steps das icon zur mitte braucht
      6. rot_a=argument5 //wie viel Grad sich die icons pro step drehen...aufpassen 360*icon_anzahl(=count) sollte durch rot_a teilbar sein!!
      7. count=argument6 //icon anzahl
      8. if angle=360 {angle=0}
      9. if angle<0 {angle+=360}
      10. switch (keyboard_key)
      11. {case (left_b):
      12. rot=1;break;
      13. case (right_b):
      14. rot=-1;break;}
      15. if act=-1 {angle+=rot_a*rot}
      16. n=count-(angle*count/360)
      17. if angle==0 {n=0}
      18. if frac(n)!=0 {n=-1}
      19. if out==true {out=false}
      20. if n!=-1
      21. {if act==n {dis+=r/stp_to_mid*gotomid}
      22. else {dis=0; gotomid=1;rot=0}
      23. if act==n&&dis=0 {out=true}
      24. else {out=false}
      25. act=n
      26. if dis>=r {dis=r; mid=true}
      27. else {mid=false}
      28. if dis<0 {dis=0; out=true}
      29. if keyboard_key=left_b {gotomid=-1;rot=1}
      30. if keyboard_key=right_b {gotomid=-1;rot=-1}
      31. if out==true {act=-1; mid=false; gotomid=1;n=-1}
      32. }
      33. else
      34. {act=-1}
      35. if mid==true {return (act)}
      36. else {return ( -1)}
      Alles anzeigen



      und das hier ins draw event (das skript):


      GML-Quellcode

      1. x_m=argument0 //Mittelpunkt x
      2. y_m=argument1 //Mittelpunkt y
      3. spr=argument2 //sprite
      4. count=argument3 //Anzahl der Icons
      5. r=argument4 //Radius
      6. for (p=0; p<=count-1; p+=1)
      7. {if act==p {r_d=r-dis; trp=(0.25-(r_d/(r*4)))+0.75; scale=2-(r_d/r)}
      8. else {r_d=r; trp=0.75; scale=1}
      9. draw_sprite_ext(spr,0,x_m+lengthdir_x(r_d,angle+((360*p)/count)+90),y_m+lengthdir_y(r_d,angle+((360*p)/count)+90),scale,scale,0,c_white,trp)}
      Alles anzeigen
      PULSE

      Zweispieler [||||||||||]
      Einspieler [||||||||||]

      [Die Entgrater ist auf Eis gelegt]

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Trompadon ()

    • Hast du ein Problem damit oder willst du es zeigen? (bei letzterem passt das Tutorialarchiv besser)
      <Irrenhaus3>wenn [zensiert] erstmal das sabbeln anfängt, wird sogar ne Sinuskurve linear, um schneller abzuhauen
      <Irrenhaus3>da geht alles in Deckung
    • Nein, aber es steht in den Forenregeln, dass man die Lösung auch posten soll, damit auch andere die es suchen etwas findne. Wenn ich das nicht machen soll, nur sagen :D .. dann mach ich es nicht mehr...
      PULSE

      Zweispieler [||||||||||]
      Einspieler [||||||||||]

      [Die Entgrater ist auf Eis gelegt]
    • Man soll die Lösung auf eine Frage posten, die man selber gestellt hatte, und zwar dann auch in dem Thread, in dem die Frage war (also keinen neuen Thread aufmachen). Für alles andere ist, wie Superyoshi sagte, das Tutorialarchiv da, wo ich das jetzt auch hinschiebe.
      “Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)

      Ich schreibe mit Neo.
    • Oh, tschuldigung, ich hab den gesamten post editiert...also da war schon ne frage in dem thread...nur wurde sie nie beantwortet (warum?wegen den verworrenen skripts denk ich :D ). Und nach nem Tag hab ich alle bugs selbst gefunden und das ganze nochmal editiert. Soweit klar und in Ordnung?
      PULSE

      Zweispieler [||||||||||]
      Einspieler [||||||||||]

      [Die Entgrater ist auf Eis gelegt]