Menu
CoddyTech

Жизни на экране

Урок 4 из 25 курса Игра на Unity: Tower Defense на Coddy.

Игрок должен видеть количество жизней. В сцене на верхней панели есть LivesText — текст TextMeshPro. Тип его скрипта — TMP_Text, для этого используется using TMPro;, а отображаемое значение задаётся свойством text.

Текст отображает то значение, которое было задано ему последним: он не обновляется вслед за переменной. Поэтому помести строку, которая отображает количество жизней, в отдельный метод и вызывай его при каждом изменении количества жизней, чтобы экран всегда показывал актуальное значение:

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

Задание

Легко

Показывай количество жизней на экране.

  1. В GameManager добавь using TMPro; и [SerializeField] private TMP_Text livesText;.
  2. Напиши ShowLives(), как указано выше.
  3. Вызови его в конце 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