Menu
CoddyTech

Vidas na tela

Lição 4 de 25 do curso Jogo de Unity: Defesa de Torres da Coddy.

O jogador deve ver as vidas. A cena tem um LivesText na barra superior, um texto do TextMeshPro. O tipo do script é TMP_Text, com using TMPro;, e o que ele exibe é seu text.

Um texto exibe o último valor que foi definido para ele: não acompanha a variável. Então, coloque a linha que exibe as vidas em um método e chame esse método sempre que as vidas mudarem, para que a tela nunca fique desatualizada:

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

Desafio

Fácil

Exiba as vidas na tela.

  1. Em GameManager, adicione using TMPro; e [SerializeField] private TMP_Text livesText;.
  2. Escreva ShowLives() como acima.
  3. Chame esse método no final de Start e depois que as vidas mudarem.

Pressione “Jogar”: o número de vidas, 20, diminui conforme os inimigos passam. Depois, pressione “Verificar”.

Experimente você mesmo

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

Todas as lições de Jogo de Unity: Defesa de Torres

Pratique por conta própria: Playground de Unity