Ż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;
}Wyzwanie
ŁatwyWyświetl liczbę żyć na ekranie.
- W
GameManagerdodajusing TMPro;i[SerializeField] private TMP_Text livesText;. - Napisz
ShowLives()tak jak powyżej. - Wywołaj ją na końcu
Starti 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