Menu
CoddyTech

Ekrandaki Canlar

Coddy'nin Unity Oyunu: Kule Savunması kursunda ders 4 / 25.

Oyuncu can sayısını görmelidir. Sahnenin üst çubuğunda, bir TextMeshPro metni olan LivesText bulunur. Betik türü TMP_Text olur; bunun için using TMPro; kullanılır ve gösterdiği değer text özelliğidir.

Bir metin, kendisine en son ne atandıysa onu gösterir: değişkeni takip etmez. Bu yüzden can sayısını gösteren satırı tek bir yönteme koy ve can sayısı değiştiği her yerde bu yöntemi çağır; böylece ekran asla geride kalmaz:

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

Görev

Kolay

Canları ekranda göster.

  1. GameManager içinde using TMPro; ve [SerializeField] private TMP_Text livesText; ekle.
  2. Yukarıdaki gibi ShowLives() yaz.
  3. Bunu Start metodunun sonunda ve canlar değiştikten sonra çağır.

“Oyna” düğmesine bas: Düşmanlar geçtikçe Canlar: 20 azalır. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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 Oyunu: Kule Savunması bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground