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;
}Görev
KolayCanları ekranda göster.
GameManageriçindeusing TMPro;ve[SerializeField] private TMP_Text livesText;ekle.- Yukarıdaki gibi
ShowLives()yaz. - Bunu
Startmetodunun 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