Menu
CoddyTech

L’HUD

Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 46 di 50.

challenge icon

Sfida

Medio

Un HUD che ascolta soltanto. Mantieni tutto ciò che hai realizzato nelle lezioni precedenti. Il canvas, chiamato HUD, ha una barra della salute (immagine Filled HealthFill), HealthText e WaveText, e lo script HUD, con hero, spawner, healthBar, healthText e waveText impostati nell'Inspector. L'HUD non chiede mai nulla all'eroe o allo spawner: questi annunciano le proprie modifiche con gli eventi C#, e l'HUD mostra ciò che sente.

  • Hero ottiene public event Action<int, int> HealthChanged, che viene invocato con la salute e maxHealth in Start e ogni volta che un colpo o una cura modifica la salute.
  • WaveSpawner ottiene public event Action<int> WaveStarted, che viene invocato con il numero dell'ondata quando questa inizia.
  • HUD si iscrive a entrambi gli eventi in OnEnable e annulla l'iscrizione in OnDisable. Quando riceve HealthChanged, riempie la barra in proporzione alla salute rimasta e mostra la salute come HP 3/5. Quando riceve WaveStarted, mostra Wave 2. Non ha un Update.

Invoca HealthChanged in Start, non in Awake: il metodo OnEnable di ogni oggetto viene eseguito prima di qualsiasi Start, quindi a quel punto l'HUD è già in ascolto. Premi Play e osserva l'HUD mentre combatti, poi premi Check.

Provalo tu

using UnityEngine;

public class HUD : MonoBehaviour
{
    // Una lezione successiva completerà questa parte: salute e ondata sullo schermo.
}

Tutte le lezioni di Architettura dei giochi in Unity