Jan 182013
 

Da es recht einsam ist für unseren Roboter, werden wir nun noch einen Gegner ins Spiel einbinden. Dazu nehmen wir einen Heliboy.

enemy

Um nun diesen Gegner zu unserem Spiel hinzuzufügen, werden wir zwei Dinge tun. Als Erstes werden wir eine Enemy Klasse erstellen, die von nun an als Superklasse für alle neuen Gegner dienen wird, und eine Heliboy Klasse, wo nur unser Heliboy drinnen ist.

Stunde #2-17: Enemy Klasse

Diese Klasse wird recht einfach werden. Hier werden wir Variablen und Methoden definieren, welche dann von unseren Unterklassen, wie der Heliboy Klasse, verwendet werden können. Dazu benötigen wir nur vier Schritte:

1. Erstellen der Enemy Klasse

2. Variablen definieren

3. Verhaltensrelevante Methoden erstellen

4. Hilfsmethoden erstellen

I. Erstellen der Enemy Klasse

1

1. Rechtsklick auf das Basteldroid Paket, danach auf New > Class.

2. Name Enemy

3. Mit OK bestätigen fertig.

II. Variablen benennen

Alle Gegner, die wir in unser Spiel einbauen wollen, haben die folgenden Merkmale:

1. Maximale Gesundheit – maxHealth

2. momentane Gesundheit – currentHealth

3. Stärke – power

4. Geschwindigkeit

5. X-Koordinate

6. Y-Koordinate

Und zusätzlich hierzu nehmen wir noch aus der StartingClass bg1 mit auf, da unser Gegner sich genauso schnell bewegen soll wie der Hintergrund.

III. Verhaltensmethoden

Wie bei all den anderen Objekten, welche wir bisher in unser Spiel eingebunden haben, benötigen wir eine Methode, die ständig aktualisiert wird: update(). Zusätzlich werden wir noch eine Methode für das Attackieren attack() und für das Sterben die() erstellen.

IV. Hilfsmethoden erstellen Getters und Setters

Hierzu gehen wir an das Ende unseres Codes und machen einen Rechtsklick, gehen auf Source > Generate Getters and Setters…
Mit Select all und OK wird Eclipse den benötigten Code selber einfügen.

2

Damit haben wir unsere Enemy Klasse fertig erstellt.

Stunde #2-18: Erstellen der Heliboy Klasse

Nun werden wir die Heliboy Klasse erstellen. Dabei werden wir aber etwas anders vorgehen.

1. Rechtsklick auf das Basteldroid Paket, dann New > Class.

2. Name Heliboy

3. Nun wählen wir bei Superclass Browse aus und suchen nach der Enemy Klasse.

3

4. Mit OK bestätigen fertig.

5. Nun den Hacken bei Constructors from superclass wählen und mit Finish bestätigen.

4

Nun haben wir das folgende Ergebnis:

Durch diese Abkürzung sparen wir uns eine Menge Code, welchen wir selber hätten schreiben müssen. Eclipse hat nun automatisch die Enemy Klasse als Superklasse gewählt und einen Konstrukteur hinzugefügt.

Im nächsten Schritt werden wir die Position unseres kleinen Helikopters hinzufügen, womit wir schon am Ende der Heliboy Klasse sind.

Stunde #2-19: Heliboy anzeigen

Um nun unsere neue Spielfigur anzeigen zu lassen, müssen wir das Selbe tun wie mit der Robot Klasse:

1. Erstellen eines Bildes des Heliboys.

2. Es muss eine hb Variable erstellt werden. Dazu verwenden wir den Heliboy Konstrukteur.

3. Die update()-Methode muss aufgerufen werden.

4. Zeichne den Heliboy mit dem Bild, welches wir in Schritt 1 erstellt haben.

I. Erstellen eines Bildes des Heliboys

enemy

1. Als Erstes ladet dieses Bild herunter und kopiert es in den data Ordner.

2. Geht auf Project > Clean > Clean all Projects > OK. Damit wird das komplette Projekt aktualisiert.

3. Wir gehen nun in die StartingClass und fügen unser neues Bild hinzu, bei den Variablen und bei den Bildeinstellungen:

II. Erstellen von Heliboy Variablen

1. Wir erstellen eine hb und eine hb2 Variable, damit können wir zwei Gegner erstellen:

2. Als Nächstes werden wir unsere zwei Gegner in der start()-Methode aufrufen lassen. Denkt daran, wir benötigen dafür auch den Hintergrund, also muss der Heliboy danach gesetzt werden. Die Heliboy Klasse nutzt die Enemy Klasse als Superklasse, in dieser wird nach dem Hintergrund gefragt, wenn wir den Heliboy nun vor den Hintergrund setzen, entsteht ein Fehler und das Programm stürzt ab.

Damit haben wir zwei Gegner mit den Mittelpunkten (340,360) und (700,360) erstellt.

III. Die update()-Methode aufrufen

Nun werden wir unsere zwei Heliboys in der run()-Methode einfügen:

Nun kann man sich eine Frage stellen: Unsere Heliboy Klasse hat doch gar keine update()-Methode, wie kann ich diese dann aufrufen? Ganz einfach, wir haben die Enemy Klasse als Superklasse eingestellt, welche eine update()-Methode besitzt. Wenn ihr euch nun an Kapitel 1 und Lektion 10 erinnert, dann wisst ihr, diese wird automatisch aufgerufen.

IV. Zeichne den Heliboy

Nun müssen wir noch in der paint()-Methode unseren Heliboy einfügen, so dass er auf dem Bildschirm erscheint.

1. Folgende Änderungen nehmen wir dafür an der paint()-Methode vor

Das Bild unseres Helikopters ist 96 x 96 Pixel groß. Daher ziehen wir von den X- und Y-Koordinaten jeweils 48 Pixel ab, so dass unser Heliboy auch wirklich da angezeigt wird, wo wir dass wollen.

Spielt ein wenig mit diesen Werten, damit ihr genau versteht warum. Langsam sollten wir verstehen, dass es immer wieder die selben Abläufe sind, die wir erledigen müssen. Je häufiger wir diese ausführen, desto einfacher wird es für uns. Und so können wir nach und nach unsere eigenen Ideen in das Spiel oder in das eigene Programm stecken.

In der nächsten Stunde werden wir lernen, wie wir Kugeln verschießen können.

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.

Kapitel 2 Lektion 6

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 5 – Hintergrund und Bewegungen Lektion 7 – Kugeln abfeuern