Жизни на экране
Урок 4 из 25 курса Игра на Unity: Tower Defense на Coddy.
Игрок должен видеть количество жизней. В сцене на верхней панели есть LivesText — текст TextMeshPro. Тип его скрипта — TMP_Text, для этого используется using TMPro;, а отображаемое значение задаётся свойством text.
Текст отображает то значение, которое было задано ему последним: он не обновляется вслед за переменной. Поэтому помести строку, которая отображает количество жизней, в отдельный метод и вызывай его при каждом изменении количества жизней, чтобы экран всегда показывал актуальное значение:
void ShowLives()
{
livesText.text = "Lives: " + lives;
}Задание
ЛегкоПоказывай количество жизней на экране.
- В
GameManagerдобавьusing TMPro;и[SerializeField] private TMP_Text livesText;. - Напиши
ShowLives(), как указано выше. - Вызови его в конце
Startи после изменения количества жизней.
Нажми «Играть»: число жизней 20 уменьшается, когда враги проходят. Затем нажми «Проверить».
Попробуйте сами
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;
}
}
Все уроки раздела Игра на Unity: Tower Defense
Потренируйтесь самостоятельно: Песочница Unity