Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:grafik:keystate

Steuerung von Grafikobjekten per Tastatur

Stell' Dir die Steuerung eines Mario-artiges Jump'n Run-Spieles vor: solange der Spieler die "Pfeil-nach-rechts"-Taste gedrückt hält, soll sich die Spielfigur nach rechts bewegen. Sobald der Spieler die Taste loslässt, sollt die Spielfigur stehenbleiben. Wie lässt sich das programmtechnisch umsetzen?

Wir könnten die Methoden onKeyDown und onKeyUp aus dem Kapitel über die Tastatur- und Mausereignisse nutzen. Da sie beim gerade geschilderten Ablauf nur jeweils einmal aufgerufen werden, die Spielfigur sich zwischen den beiden Methodenaufrufen aber weiter bewegen soll, müssten wir den Zustand "Pfeil-nach-rechts-Taste ist gerade unten" dazwischen speichern und regelmäßig (z.B. in der act-Methode) auswerten, um die Spielfigur weiter voranzubewegen.

Genau dabei unterstützt uns unser API: Jedes Grafikobjekt (genauer: jede von Actor abgeleitete Klasse) hat zwei Methoden isKeyUp(String key) und isKeyDown(String key), mit denen sich jederzeit für jede Taste der Tastatur ermitteln lässt, ob sie gerade nach unten gedrückt ist. Diese Methoden nutzen wir, um den Zustand unserer Grafikobjekte in der act-Methode regelmäßig zu verändern und sie so beispielsweise abhängig von den gedrückten Tasten zu bewegen.

Beispiel 1: Pfeiltasten steuern Ball

api/documentation/grafik/keystate.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki