화면에 생명 표시
Coddy의 Unity 게임: 타워 디펜스 코스 레슨. 25개 중 4번째.
플레이어는 남은 생명 수를 볼 수 있어야 합니다. 장면의 상단 바에는 TextMeshPro 텍스트인 LivesText가 있습니다. 스크립트 형식은 TMP_Text이며, using TMPro;를 사용하고, 표시되는 내용은 text입니다.
텍스트는 마지막으로 설정된 내용을 표시합니다. 변수의 값을 따라 바뀌지는 않습니다. 따라서 남은 생명 수를 표시하는 줄을 하나의 메서드에 넣고, 생명 수가 바뀔 때마다 그 메서드를 호출해 화면에 표시되는 값이 뒤처지지 않도록 하세요.
void ShowLives()
{
livesText.text = "Lives: " + lives;
}챌린지
쉬움화면에 목숨 수를 표시하세요.
GameManager에using TMPro;와[SerializeField] private TMP_Text livesText;를 추가하세요.- 위와 같이
ShowLives()를 작성하세요. Start의 끝과 목숨 수가 바뀐 뒤에 호출하세요.
‘플레이’를 누르세요. 적들이 통과하면 Lives: 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 게임: 타워 디펜스의 모든 레슨
직접 연습해 보세요: Unity 플레이그라운드