Menu
CoddyTech

Mạng trên màn hình

Bài học 4 trên 25 trong khóa học Game Unity: thủ thành của Coddy.

Người chơi nên thấy số mạng. Cảnh có LivesText trên thanh trên cùng, một văn bản TextMeshPro. Kiểu script của nó là TMP_Text, với using TMPro;, và nội dung mà nó hiển thị nằm trong thuộc tính text.

Văn bản hiển thị nội dung được gán cho nó lần cuối, chứ không tự cập nhật theo biến. Vì vậy, hãy đặt dòng hiển thị số mạng trong một phương thức, rồi gọi phương thức đó mỗi khi số mạng thay đổi để màn hình luôn cập nhật:

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

Thử thách

Dễ

Hiển thị số mạng trên màn hình.

  1. Trong GameManager, thêm using TMPro; và [SerializeField] private TMP_Text livesText;.
  2. Viết ShowLives() như trên.
  3. Gọi hàm này ở cuối Start và sau khi số mạng thay đổi.

Nhấn Chơi: số mạng giảm từ 20 khi kẻ địch lọt qua. Sau đó nhấn Kiểm tra.

Tự làm thử

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

Tất cả bài học trong Game Unity: thủ thành

Tự luyện tập: Playground Unity