Menu
CoddyTech

Leben auf dem Bildschirm

Lektion 4 von 25 im Kurs Unity-Spiel: Tower Defense von Coddy.

Der Spieler sollte die Leben sehen. Die Szene enthält in der oberen Leiste ein LivesText, einen TextMeshPro-Text. Sein Skripttyp ist TMP_Text, mit using TMPro;, und angezeigt wird der Inhalt von text.

Ein Text zeigt an, was ihm zuletzt zugewiesen wurde: Er folgt der Variable nicht. Schreibe daher die Zeile, die die Leben anzeigt, in eine Methode und rufe sie überall dort auf, wo sich die Leben ändern, damit die Anzeige nie hinterherhinkt:

void ShowLives()
{
    livesText.text = "Lives: " + lives;
}
challenge icon

Aufgabe

Einfach

Zeige die Leben auf dem Bildschirm an.

  1. Füge in GameManager using TMPro; und [SerializeField] private TMP_Text livesText; hinzu.
  2. Schreibe ShowLives() wie oben.
  3. Rufe es am Ende von Start und nach einer Änderung der Lebensanzahl auf.

Drücke „Spielen“: Die Leben: 20 sinken, wenn die Gegner durchkommen. Drücke danach „Prüfen“.

Probier es selbst

using UnityEngine;

public class GameManager : MonoBehaviour
{
    [SerializeField] private int startLives = 20;

    private int lives;

    void OnEnable()
    {
        Enemy.ReachedBase += OnReachedBase;
    }

    void OnDisable()
    {
        Enemy.ReachedBase -= OnReachedBase;
    }

    void Start()
    {
        lives = startLives;
    }

    void OnReachedBase(Enemy enemy)
    {
        lives -= enemy.data.damage;
    }
}

Alle Lektionen in Unity-Spiel: Tower Defense

Übe selbstständig: Unity-Playground