Menu
CoddyTech

화면에 생명 표시

Coddy의 Unity 게임: 타워 디펜스 코스 레슨. 25개 중 4번째.

플레이어는 남은 생명 수를 볼 수 있어야 합니다. 장면의 상단 바에는 TextMeshPro 텍스트인 LivesText가 있습니다. 스크립트 형식은 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의 끝과 목숨 수가 바뀐 뒤에 호출하세요.

‘플레이’를 누르세요. 적들이 통과하면 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 플레이그라운드