Lernpfad:Hehomon/14

Aus Informatik-Box
Zur Navigation springen Zur Suche springen

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.

EA anzeige.jpg

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.

Icon Heft.png
Arbeitsauftrag

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

  1. Der Text
  2. x-Koordinate
  3. y-Koordinate
  4. Name der Schrift (siehe oben)
  5. Schriftgröße
  6. Schriftart als Integer:
    • 0: Normaler Text
    • 1: Fett
    • 2: Kursiv
    • 3: Fett & Kursiv
  7. Schriftfarbe
Icon Heft.png
Arbeitsauftrag

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()).

Lösungshinweise
  • Ergänzt in der Arena eine Methode public void setzeAnzeige( String pText ), die den Text der Anzeige über dessen Methode public void setText( String pText ) neu setzt.
  • Ruft die Methode setzeAnzeige im Spiel so auf, dass die passenden Nachrichten angezeigt werden (in tasteReagieren und verteidigerAmZug).