Es gibt grundsätzlich zwei Ansätze, um auf Tastaturereignisse zu reagieren:
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.
Starte das Programm und probiere die Pfeiltasten und die Tasten r und l aus!
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.
Starte das Programm und probiere die Tasten a, b und c aus!