Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:spiele:tastatur

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
api:documentation:spiele:tastatur [2021/01/14 16:22] Martin Pabstapi:documentation:spiele:tastatur [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 64: Zeile 64:
 <WRAP center round info 80%> <WRAP center round info 80%>
 Jedes graphische Objekt (genauer: jede Unterklasse von ''Actor'') besitzt die Methoden  Jedes graphische Objekt (genauer: jede Unterklasse von ''Actor'') besitzt die Methoden 
-  * ''onKeyTyUp(String key)'' (wird aufgerufen, wenn eine Taste losgelassen wird)+  * ''onKeyUp(String key)'' (wird aufgerufen, wenn eine Taste losgelassen wird)
   * ''onKeyDown(String key)'' (wird aufgerufen, wenn eine Taste heruntergedrückt 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)   * ''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. \\ \\  Diese Methoden kann man überschreiben und damit auf die entsprechenden Tastaturereignisse reagieren. \\ \\ 
-**Bemerkung:** Die Methoden ''onKeyUp'' und ''onKeyPressed'' 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.+**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.
 </WRAP> </WRAP>
  
-===== Beispiel 2: Steuerung eines Raumschiffs durch Überscheiben von Ereignishandlern ===== +===== Beispiel 2: Starten von Raumschiffen durch Überscheiben von Ereignishandlern ===== 
-Starte das Programm und probiere die Pfeiltasten und die Tasten und aus!+Starte das Programm und probiere die Tasten a, b und aus!
 <HTML> <HTML>
  
Zeile 78: Zeile 78:
  
 <script type="text/plain" title="Keyboard_2.java"> <script type="text/plain" title="Keyboard_2.java">
 +new Raumschiff2(100, 500, "a");
 +new Raumschiff2(300, 500, "b");
 +new Raumschiff2(500, 500, "c");
 +new Raumschiff2(700, 500, "c");
  
 +class Raumschiff2 extends Sprite {
 +   
 +   double vy = 0;
 +   String taste;
 +   
 +   public Raumschiff2(double x, double y, String taste) {
 +      super(x, y, SpriteLibrary.Ship_1, 1);
 +      this.taste = taste;
 +      scale(0.3);
 +      rotate(90);
 +   }
 +
 +   public void act() {
 +
 +      move(0, vy);
 +      if(isOutsideView()) {
 +         destroy();
 +      }
 +
 +   }
 +
 +   public void onKeyDown(String key) {
 +      if(key == taste) {
 +         vy = -40;
 +      }
 +   }
 +
 +}
 </script> </script>
  
api/documentation/spiele/tastatur.1610637763.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki