Menu
CoddyTech

Życia na ekranie

Lekcja 4 z 25 w kursie Gra w Unity: Obrona wieży w Coddy.

Gracz powinien widzieć liczbę żyć. Scena ma obiekt LivesText na górnym pasku, czyli tekst TextMeshPro. Jego typem skryptu jest TMP_Text, z using TMPro;, a to, co wyświetla, znajduje się w jego text.

Tekst wyświetla wartość, którą przypisano mu jako ostatnią: nie śledzi zmiennej. Umieść więc w jednej metodzie wiersz wyświetlający liczbę żyć i wywołuj ją za każdym razem, gdy zmieni się liczba żyć, aby ekran zawsze pokazywał aktualną wartość:

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

Wyzwanie

Łatwy

Wyświetl liczbę żyć na ekranie.

  1. W GameManager dodaj using TMPro; i [SerializeField] private TMP_Text livesText;.
  2. Napisz ShowLives() tak jak powyżej.
  3. Wywołaj ją na końcu Start i po zmianie liczby żyć.

Naciśnij „Graj”: liczba żyć spada z 20, gdy wrogowie przedostają się do bazy. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

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;
    }
}

Wszystkie lekcje w sekcji Gra w Unity: Obrona wieży

Poćwicz samodzielnie: Edytor online Unity