Lernpfad:Hehomon/14
Wir sind fast am Ende angekommen. Es fehlen nur noch wenige Elemente für das fertige Spiel. Damit der Spieler auch weiß, welche Fähigkeit der Verteidiger eingesetzt hat, wollen wir nun eine Anzeige erstellen, die während des Kampfes Textinformationen anzeigen kann.
Die Anzeige
Um Text in der Engine-Alpha darzustellen gibt es die Klasse Text
. Texte sind auch Blätter im Spielbaum. Sie müssen mit der Wurzel verbunden sein, damit sie angezeigt werden. Wie beim Lebensbalken erstellen wir eine extra Klasse der View, die von Knoten
erbt.
Aber vorher müsst ihr euch für euer Spieldesign für eine Schriftart entscheiden. In der Spielvorlag befinden sich schon eine Reihe von Schriftarten, die ihr benutzen könnt:
Acme Regular Alfa Slab One Regular Changa ExtraLight Federant Fredoka One Gloria Hallelujah Indie Flower Lacquer Regular Luckiest Guy Regular Odibee Sans Regular Pacifico Regular Permanent Marker Regular Tomorrow Regular Trade Winds Yeon Sung Regular
Eine Vorschau der Schriftarten könnt ihr bei Google Fonts sehen.
Sucht euch eine Schriftart für euer Spiel aus.
Der Konstruktor eines Text
-Objektes erwartet eine Menge Parameter:
new Text("Der Kampf beginnt", 0, 0, "Luckiest Guy Regular", 20, 0, "Weiss");
Die Parameter sind
- Der Text
- x-Koordinate
- y-Koordinate
- Name der Schrift (siehe oben)
- Schriftgröße
- Schriftart als Integer:
- 0: Normaler Text
- 1: Fett
- 2: Kursiv
- 3: Fett & Kursiv
- Schriftfarbe
Erstellt die Klasse Anzeige
nach folgender Vorlage (ersetzt die Paramter des Text
-Objektes nach euren Wünschen):
import ea.*;
public class Anzeige extends Knoten {
private Rechteck hintergrund;
private Text text;
public Anzeige( int pX, int pY ) {
hintergrund = new Rechteck(pX, pY, 400, 110);
hintergrund.farbeSetzen(new Farbe(0, 0, 0, 133));
add(hintergrund);
text = new Text("Der Kampf beginnt", pX+5, pY+5, "Luckiest Guy Regular", 20, 0, "Weiss");
add(text);
}
public void setText( String pText ) {
text.setzeInhalt(pText);
}
}
Erstellt ein Anzeige
-Objekt in der Arena
und überlegt euch einen Weg, den Text der Anzeige zu aktualisieren, so dass die eingesetzte Fähigkeit zu sehen ist (z.B. "Alligung setzt Gator-AID ein").
Hinweis: Ihr könnt den Namen der Fähigkeiten und den Namen des Hehomons aus der Klasse Hehomon
abfragen (z.B. mit getNameAngr1()
).
- Ergänzt in der
Arena
eine Methodepublic void setzeAnzeige( String pText )
, die den Text derAnzeige
über dessen Methodepublic void setText( String pText )
neu setzt. - Ruft die Methode
setzeAnzeige
imSpiel
so auf, dass die passenden Nachrichten angezeigt werden (intasteReagieren
undverteidigerAmZug
).