Titel:

Java Game Programming Tutorial

Startseite
english
  
ISBN: 3499612038   ISBN: 3499612038   ISBN: 3499612038   ISBN: 3499612038 
 
  Wir empfehlen:       
 

Bearbeiten von Mausereignissen

Kein Spiel kommt ohne Interaktionen mit dem Spieler aus. In unserem Fall stehen dem Spieler zwei Möglichkeiten zur Verfügung, wie er in das Spielgeschehen eingreifen kann, nämlich mit der Maus oder mit der Tastatur seines Computers. In den nächsten zwei Kapiteln möchte ich zeigen, wie Maus- und Keyboardevents von Applets verarbeitet werden können. Wiederum ist dies in Applets leichter zu bewerkstelligen als in Konsolenanwendungen, daher kann man die von mir vorgestellten Methoden nicht eins zu eins in Konsolenanwendungen übertragen. In jedem guten Javabuch wird jedoch EventHandling ausführlich für Konsolenanwendungen behandelt (z. B. in dem Onlinebuch GoToJava: siehe Links), so dass man sich dieses Wissen leicht selbst aneignen kann.
Im folgenden möchte ich unser BallApplet so erweitern, dass der Ball auch dann seine Richtung ändert, wenn der Benutzer auf das Applet klickt.

Um dies zu verwirklichen muss man (in Applets!!) lediglich die Funktion mouseDown implementieren. Diese sollte in unserem Fall folgendermaßen aussehen:

    // Funktion zum Auffangen eines Mausklicks auf das Applet
    public boolean mouseDown (Event e, int x, int y)
    {
      // Umkehren des Richtungsvektors
      x_speed = - (x_speed);

      // Rückgabewert in diesem Fall unnötig, aber verlangt !!
      return true;
    }

Natürlich lassen sich nicht nur Mausklicks verarbeiten. Java stellt eine Reihe von Methoden zur Verfügung, die ich nun kurz vorstellen möchte. Sie alle können auf dieselbe Art und Weise wie oben gesehen in das Applet eingefügt werden:

  1. Mausklick:
    1. public boolean mouseDown (Event e, int x, int y): Fängt das Ereigniss auf, das entsteht, wenn die Maustaste gedrückt wird
    2. public boolean mouseUp (Event e, int x, int y): Fängt das Ereigniss auf, das entsteht, wenn die Maustaste losgelassen wird
    3. Mit der Variablen e.clickCount hat man zudem Zugriff auf die Anzahl der Clicks und kann somit auch Doppelklicks anders behandel als einfache Klicks
  2. Bewegen der Maus:
    1. public boolean mouseMove (Event e, int x, int y): Fängt das Ereigniss auf, das entsteht, wenn die Maus bewegt wird
    2. public boolean mouseDrag (Event e, int x, int y): Fängt das Ereigniss auf, das entsteht, wenn die Maus mit gedrückter Maustaste bewegt wird
  3. Mauspositionen:
    1. public boolean mouseEnter(Event e, int x, int y): Fängt das Ereigniss auf, das entsteht, wenn der Mauszeiger das Appletfeld "betritt"
    2. public boolean mouseExit (Event e, int x, int y): Fängt das Ereigniss auf, das entsteht, wenn der Mauszeiger das Appletfeld verlässt

Mit den Variablen int x und int y hat man zudem Zugriff auf die Koordinaten, an denen das Mausevent passiert ist, was natürlich für viele Spiele äußerst wichtig ist. Außerdem muss man darauf achten, dass die Methoden explizit einen Rückgabewert true oder false verlangen, der nicht immer eine Bedeutung für die Behandlug des Ereignisses hat. Es muss jedoch immer ein boolscher Wert zurückgegeben werden!

SourceCode download
Applet ansehen

Nächstes Kapitel

Tastaturereignisse

  
Java: Programmieren von Anfang an
von Helmut Erlenkötter
Siehe auch:
C++: Objektorientiertes Programmieren von...
HTML: Von der Baustelle bis JavaScript
PHP: Webseiten dynamisch programmieren
C: Programmieren
von Anfang an
XML: Extensible Markup Language
von Anfang an
SQL: Der Schlüssel zu relationalen Datenbanken
 
   
 
     

Zurück zu Themenseiten:
StudyPaper.com/Startseite/Computer/Informatik/Programmieren/Java
StudyPaper.com/Startseite/Computer/Spiele
StudyPaper.com/Startseite/Computer

Das Setzen von Verweisen (Links) auf diese Seite ist gestattet und bedarf keine vorherige Absprache.
   
  Startseite  |  english  |  Bookmark setzen  |  Webseite weiterempfehlen  |  Copyright ©  |  Impressum