Vies à l’écran
Leçon 4 sur 25 du cours Jeu Unity : défense de tours de Coddy.
Le joueur doit voir ses vies. La scène comporte un LivesText dans la barre supérieure, un texte TextMeshPro. Son type de script est TMP_Text, avec using TMPro;, et ce qu’il affiche est son text.
Un texte affiche la dernière valeur qui lui a été attribuée : il ne suit pas la variable. Place donc la ligne qui affiche les vies dans une méthode, puis appelle-la chaque fois que les vies changent, afin que l’écran ne soit jamais en retard :
void ShowLives()
{
livesText.text = "Lives: " + lives;
}Défi
FacileAffiche les vies à l’écran.
- Dans
GameManager, ajouteusing TMPro;et[SerializeField] private TMP_Text livesText;. - Écris
ShowLives()comme ci-dessus. - Appelle-la à la fin de
Startet après chaque changement du nombre de vies.
Appuie sur « Jouer » : le nombre de vies, qui est de 20, diminue à mesure que les ennemis passent. Puis appuie sur « Vérifier ».
Essayez vous-même
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;
}
}
Toutes les leçons de Jeu Unity : défense de tours
1Le parcours
Points de passageDonnées des ennemisEntraînez-vous par vous-même : Playground Unity