Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Der Punktestand

Dies ist der 11. Schritt von 16 des Gamedev Phaser-Tutorials. In diesem Artikel fügen wir unserem Spiel ein Punktesystem hinzu. Ein Punktestand kann das Spiel interessanter machen—Sie können versuchen, Ihren eigenen Highscore oder den Ihres Freundes zu übertreffen.

Wir werden eine separate Eigenschaft zur Speicherung des Punktestands verwenden und die text()-Methode von Phaser, um diesen auf dem Bildschirm anzuzeigen.

Neue Eigenschaften

Fügen Sie zwei neue Eigenschaften direkt nach den vorher definierten hinzu:

js
class ExampleScene extends Phaser.Scene {
  // ... previous property definitions ...
  scoreText;
  score = 0;
  // ... rest of the class ...
}

Hinzufügen des Punktetextes zur Spielanzeige

Fügen Sie nun diese Zeile am Ende der create()-Methode hinzu:

js
this.scoreText = this.add.text(5, 5, "Points: 0", {
  font: "18px Arial",
  color: "#0095dd",
});

Die text()-Methode kann vier Parameter übernehmen:

  • Die x- und y-Koordinaten, an denen der Text gezeichnet wird.
  • Der tatsächliche Text, der gerendert wird.
  • Der Schriftstil, mit dem der Text gerendert wird.

Der letzte Parameter sieht sehr ähnlich aus wie CSS-Styling. In unserem Fall wird der Punktetext blau sein, mit einer Größe von 18 Pixeln und der Schriftart Arial.

Aktualisierung des Punktestands bei zerstörten Steinen

Wir werden die Punktzahl jedes Mal erhöhen, wenn der Ball einen Stein trifft, und den scoreText aktualisieren, um den aktuellen Punktestand anzuzeigen. Dies kann mit der setText()-Methode durchgeführt werden—fügen Sie die zwei neuen Zeilen, die unten zu sehen sind, zur hitBrick()-Methode hinzu:

js
class ExampleScene extends Phaser.Scene {
  // ...
  hitBrick(ball, brick) {
    brick.destroy();
    this.score += 10;
    this.scoreText.setText(`Points: ${this.score}`);
  }
}

Das war's fürs Erste—laden Sie Ihre index.html neu und prüfen Sie, ob der Punktestand bei jedem Steintreffer aktualisiert wird.

Vergleichen Sie Ihren Code

Hier ist, was Sie bisher haben sollten, live ausgeführt. Um den Quellcode anzuzeigen, klicken Sie auf den "Play"-Button.

Nächste Schritte

Wir haben jetzt ein Punktesystem, aber was ist der Sinn des Spielens und der Punktesammlung, wenn man nicht gewinnen kann? Lassen Sie uns sehen, wie wir einen Siegzustand hinzufügen können, der es uns ermöglicht, das Spiel zu gewinnen.