Wählbare Tastenbelegung

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

    • Wählbare Tastenbelegung

      Tastenbelegung-Tutorial

      Es sind kleine Dinge die ein Spiel besser machen als andere, dazu gehört natürlich eine wählbare Tastenbelegung. In diesem Tutorial werden wir lernen wie man eine solche wählbare Tastenbelegung für sein Spiel baut.
      Als erstes starten wir den Gamemaker und erstellen eine neue Datei unter dem Namen "tastenbelegung.gm6". Danach benötigen wir ein Objekt welches wir "key" nennen. Dieses Objekt soll unsere Tasten speichern und muss daher peristent sein. Im Create-Event setzten wir nun die Standartsteuerung:

      GML-Quellcode

      1. {
      2. up=vk_up;
      3. down=vk_down;
      4. left=vk_left;
      5. right=vk_right;
      6. }

      Somit lassen sich die Tasten nun über key.up, key.down, key.left und key.right abrufen. Nun fügen wir einen Code in das KeyPress(Enter)-Event ein:

      GML-Quellcode

      1. {
      2. draw_text(0,0,"Press the UP-key");
      3. screen_refresh();
      4. keyboard_wait();
      5. up=keyboard_lastkey;
      6. screen_redraw();
      7. draw_text(0,0,"Press the DOWN-key");
      8. screen_refresh();
      9. keyboard_wait();
      10. down=keyboard_lastkey;
      11. screen_redraw();
      12. draw_text(0,0,"Press the LEFT-key");
      13. screen_refresh();
      14. keyboard_wait();
      15. left=keyboard_lastkey;
      16. screen_redraw();
      17. draw_text(0,0,"Press the RIGHT-key");
      18. screen_refresh();
      19. keyboard_wait();
      20. right=keyboard_lastkey;
      21. screen_redraw();
      22. }
      Alles anzeigen

      Als erstes wird der Text "Press the UP-key" gezeichnet und mit screen_refresh() sofort angezeigt. Danach wird auf den nächsten Tastendruck gewartet. Wenn eine Taste gedrückt wird, wird der Variable "up" der Wert dieser Taste zugewiesen. Danach wird screen_redraw() aufgerufen, was alle Draw-Events ausführt, damit der Text wieder verschwindet. Das ganze wird nun auch noch mit den anderen Tasten gemacht. Nun erstellen wir ein Objekt mit dem Namen "obj_player". In diesem fügen wir im Step-Event folgenden Code ein:

      GML-Quellcode

      1. {
      2. if(keyboard_check(key.up))
      3. {y-=4;}
      4. if(keyboard_check(key.down))
      5. {y+=4;}
      6. if(keyboard_check(key.left))
      7. {x-=4;}
      8. if(keyboard_check(key.right))
      9. {x+=4;}
      10. }

      Nun müssen wir diesem Objekt noch ein Sprite geben. Danach setzten wir beide Objekte in einen Room und können das ganze testen.
      Zuerst lässt sich die Instanz mit den Pfeiltasten steuern. Nun drücken wir <Enter> und bemerken den Text oben am oberen, linken Rand. Nun legen wir die Tasten fest und können den Player nun mit diesen steuern.
      Dies ist nur eine simple Idee, welche sich noch erweitern und verbessern lässt.

      Ich freue mich auf Ideen, Anregungen und Kritik.

      Dragoon
      Dateien
      int (*x(*x(int))[5])(int*);
      Confused? Yes, it's C!
    • Benutzer online 1

      1 Besucher