Quadratisches Menü (erweiterbar)

    • GM 8

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

    • Quadratisches Menü (erweiterbar)

      Quadratisches Menü
      ___________________________________________________________________________




      Bei meinen Anfängen hier im Forum hatte ich selbst das Problem, dass ich nicht wusste wie solch ein Quadratisches Menü (siehe oben) entstehen soll.
      Dieses Tutorial/Example soll einen Einblick in meinem Lösungsweg geben, da er meiner Meinung nach der effektivste ist.

      Die gesamte gmk ist dokumentiert.


      Download (Example)

      Scripte
      Spoiler anzeigen

      GML-Quellcode

      1. if (men==1){ // wir beziehen uns jetzt nur auf das erste Menü
      2. //////////////////////////////////////////////
      3. //////////////////////////////////////////////
      4. /////////////////Abfrage der Position:////////
      5. //////////////////////////////////////////////
      6. //////////////////////////////////////////////
      7. switch (xpos){
      8. case 1: switch (ypos){ // bei X koordinate 1
      9. case 1: pos=1; break; // und y koordinate 1 ist die position des zeigers 1 (oben links)
      10. case 2: pos=3; break; // oder y koordinate 2 ist die position des zeigers 3 (unten links)
      11. }
      12. break;
      13. case 2: switch (ypos){ //bei x koordinate 2
      14. case 1: pos=2; break; //und y koordinate 1 ist die position des zeigers 2 (oben rechts)
      15. case 2: pos=4; break; //oder y koordinate 2 ist die position des zeigers 4 (unten rechts)
      16. }
      17. break;
      18. }
      19. switch (ypos){
      20. case 1: switch (xpos){ //[...]
      21. case 1: pos=1; break;
      22. case 2: pos=2; break;
      23. }
      24. break;
      25. case 2: switch (xpos){
      26. case 1: pos=3; break;
      27. case 2: pos=4; break;
      28. }
      29. break;
      30. }
      Alles anzeigen

      GML-Quellcode

      1. //////////////////////////////////////////////
      2. //////////////////////////////////////////////
      3. /////////////////Tastendruck//////////////////
      4. //////////////////////////////////////////////
      5. //////////////////////////////////////////////
      6. if (keyboard_check(vk_left)){ //man drück nach links,
      7. if (xpos>1 && t0==0){ //wenn nach links Platz ist,
      8. xpos-=1; t0=1; alarm[2]=4;sound_play(sound0);//wird die Zeigerposition X um 1 weniger
      9. }
      10. } //Unnötige Anmerkung: für 2x2 Felder geht es auch einfacher, aber diese Methode ist auch mit mehr Zahlen kompatibel ;)
      11. if (keyboard_check(vk_right)){ //wenn man nach rechts drückt,
      12. if (xpos<2 && t0==0){ //wird abgefragt ob nach rechts noch platz ist,
      13. xpos+=1; t0=1; alarm[2]=4;sound_play(sound0);//und die zeigerposition x wird um 1 erhöht.
      14. }
      15. }
      16. if (keyboard_check(vk_down)){ //man sollte das Prinzip nun verstanden haben ;)
      17. if (ypos<2 && t0==0){
      18. ypos+=1; t0=1; alarm[2]=4;sound_play(sound0);
      19. }
      20. }
      21. if (keyboard_check(vk_up)){
      22. if (ypos>1 && t0==0){
      23. ypos-=1; t0=1; alarm[2]=4;sound_play(sound0);
      24. }
      25. }
      26. if (keyboard_check(ord('X'))){
      27. if (pos==1 && t==0) {men=2;sound_play(sound0); alarm[0]=1;}
      28. if (pos==4 && t==0) {game_end();}
      29. }
      30. }
      Alles anzeigen

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von domis4 ()