====== 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!