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!