Inhaltsverzeichnis
Tastatursteuerung
Es gibt grundsätzlich zwei Ansätze, um auf Tastaturereignisse zu reagieren:
a) Abfrage des Tastatur-Status in der act-Methode
Jedes graphische Objekt hat die Methoden isKeyDown(String key)
und isKeyUp(String key)
, die genau dann true
zurückliefern, wenn die übergebene Taste gerade heruntergedrückt bzw. (im Fall von isKeyUp
) nicht heruntergedrückt ist. Mit diesen Methoden kann man bspw. in der act
-Methode alle 1/30 s den Status bestimmter Tasten abfragen und abhängig davon agieren.
Beispiel 1: Steuerung eines Raumschiffs
Starte das Programm und probiere die Pfeiltasten und die Tasten r und l aus!
b) Überschreiben von Ereignis-Handlern
Jedes graphische Objekt (genauer: jede Unterklasse von Actor
) besitzt die Methoden
onKeyUp(String key)
(wird aufgerufen, wenn eine Taste losgelassen wird)onKeyDown(String key)
(wird aufgerufen, wenn eine Taste heruntergedrückt wird)onKeyTyped(String key)
(wird aufgerufen, wenn eine Taste heruntergedrückt und anschließend losgelassen wird)
Diese Methoden kann man überschreiben und damit auf die entsprechenden Tastaturereignisse reagieren.
Bemerkung: Die Methoden onKeyUp
und onKeyTyped
unterscheiden sich darin, dass manche Betriebssysteme beim langen Drücken einer Taste viele KeyTyped-Ereignisse in Folge auslösen. Das KeyUp-Ereignis wird aber nur jeweils ein Mal beim Loslassen ausgelöst.
Beispiel 2: Starten von Raumschiffen durch Überscheiben von Ereignishandlern
Starte das Programm und probiere die Tasten a, b und c aus!