Dez 212012
 

Stunde #2-6: Implementierung des KeyListener

Heute werden wir Code zu unserem Spiel hinzufügen, welcher uns erlaubt, die Aktionen auf der Tastatur wahrzunehmen.

Wie werden wir vorgehen?

1. Um unserem Spiel die Möglichkeit zu geben, diese Aktionen wahrzunehmen, müssen wir ihm einen KeyListener („Tastenhörer“) hinzufügen.

2. Um 1. zu erfüllen, müssen wir lediglich das KeyListener Interface integrieren und dieses unter der init() Methode hinzufügen.

3. Wenn wir ein Interface integrieren wollen, müssen wir alle Methoden dieser Superklasse nehmen und unserem Code hinzufügen. Die drei Methoden sind: keyPressed(), keyReleased() und keyTyped().

Also lasst uns loslegen.

1. So sieht unsere Bezeichnung der Klasse momentan aus:

Um den KeyListener hinzuzufügen, müssen wir einfach „, KeyListener“ dazu schreiben:

2. Wenn wir dies getan haben, wird eine rote Wellenlinie unter KeyListener angezeigt, das bedeutet, dass wir diesen erst noch importieren müssen. Wie wir importieren, haben wir in den vergangenen Lektionen erläutert.

3. Nun taucht diese Wellenlinie auch unter StartingClass auf. Hier muss die Methode KeyListener.keyReleased(KeyEvent) noch implementiert werden, dies gelingt uns mit einem Klick auf StartingClass und der ersten Auswahl, Add unimplemented methods.

4. Durch das Integrieren dieser Methoden geschehen zwei Dinge. Zum einen werden drei neue Methoden implementiert: keyPressed(), keyReleased() und keyTyped(). Zum anderen importiert Java automatisch KeyEvent für uns mit.

5. Nun müssen wir nur noch den KeyListener zu unserem Code unter init() hinzufügen:

addKeyListener(this);

Nun sollten wir alle auf folgendem Stand sein:

Stunde #2-7: Hören des Tastendrückens

In unserem 2D-Spiel benötigen wir wenigstens fünf Tasten, um zu starten. Wir nehmen die vier Richtungspfeile und die Leertaste, um zu springen.

Wir arbeiten nun in der keyPressed Methode. Innerhalb dieser Methode werden wir nun Schalter einbauen, diese werden dann, je nachdem, welche Taste gedrückt wird, die richtige Tätigkeit ausführen.

Was genau haben wir da nun gemacht? Im ersten Kapitel haben wir Schalter kennengelernt. Sie sind eine Alternative zu einer langen Liste von if-Anweisungen. Schalter überprüfen nur, welche Taste gedrückt wurde und führen dann die entsprechende Aktion aus.

Mit e.getKeyCode() wird ermittelt, welche Taste der Tastatur gedrückt wurde. Wenn wir nun schreiben würden System.out.println(e.getKeyCode()), würde uns angezeigt werden, welche Taste wir gedrückt haben.

Was macht nun unserer Schalter? Er überprüft, welche Taste gedrückt wurde und vergleicht dies mit den verschiedenen Möglichkeiten und Werten, welche wir oben beschrieben haben.

Stunde #2-8: Hören des Tastenloslassens

Dies ist vom Prinzip her das Selbe wie das Drücken und daher fügen wir exakt den selben Code ein. Wenn wir also eine Taste los lassen, wird unserer Schalter die entsprechende Reaktion darauf ausführen.

Momentan haben wir noch keine Figur, welche für uns auf dem Bildschirm umher springt. Daher werden wir uns einfach den Code anzeigen lassen. Nach der Ausführung des Programms öffnet sich ein Fenster, in welchem wir uns „bewegen“. In der Console sind die entsprechenden Ausgaben dazu zu sehen:

Das war es für heute. In der nächsten Lektion fügen wir einen Hintergrund ein und eine Figur, die sich auch schon bewegen kann.

Source Code

Für diejenigen unter euch, die hier einsteigen möchten, ohne den ganzen Code abtippen zu müssen, habe ich das Projekt exportiert. Mit der Importfunktion könnt ihr das Projekt bequem bei euch einfügen. Unter der Kategorie Eclipse und Java > Import und Export habe ich erklärt, was dafür zu tun ist.

Lektion 3

Falls ihr Fragen habt, immer raus damit, ich helfe euch sehr gerne. Hinterlasst bitte einfach einen Kommentar.

Teilt diese Seite mit euren Freunden und besucht uns mal auf Facebook und auf Google+, das würde dieser Seite wirklich weiterhelfen, danke sehr. Auch ein Klick auf die Werbung hilft dabei, diese Seite am Laufen zu halten.

Quelle: Original Anleitung auf englisch von Kilobolt Studios

Lektion 2 – Grundgerüst Lektion 4 – Spielfigur einbinden Teil 1