Menu
CoddyTech

HUD

Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 46 / 50.

challenge icon

Görev

Orta

Yalnızca dinleyen bir HUD. Önceki derslerdeki her şeyi koru. HUD adlı canvas'ta bir can çubuğu (HealthFill, Filled türünde bir görsel), HealthText ve WaveText ile Inspector'da hero, spawner, healthBar, healthText ve waveText değerleri ayarlanmış HUD betiğin bulunur. HUD, kahramana veya düşman oluşturucuya hiçbir şey sormaz: değişikliklerini C# olaylarıyla bildirirler ve HUD duyduklarını gösterir.

  • Hero, Start içinde ve bir darbe ya da iyileştirme canı her değiştirdiğinde can ve maxHealth değeriyle tetiklenen public event Action<int, int> HealthChanged olayını alır.
  • WaveSpawner, bir dalga başladığında dalganın numarasıyla tetiklenen public event Action<int> WaveStarted olayını alır.
  • HUD, OnEnable içinde her iki olaya da abone olur ve OnDisable içinde aboneliklerini kaldırır. HealthChanged olayında çubuğu kalan can oranına göre doldurur ve canı HP 3/5 olarak gösterir. WaveStarted olayında Wave 2 gösterir. Bir Update metodu yoktur.

HealthChanged olayını Awake içinde değil, Start içinde tetikle: her nesnenin OnEnable metodu, herhangi bir Start çalışmadan önce çalışır; dolayısıyla o zamana kadar HUD dinlemeye başlamış olur. Play'e bas ve savaşırken HUD'ı izle, ardından Check'e bas.

Kendin dene

using UnityEngine;

public class HUD : MonoBehaviour
{
    // Sonraki bir derste burası doldurulacak: ekranda can ve dalga bilgisi gösterilecek.
}

Unity'de Oyun Mimarisi bölümündeki tüm dersler