Das HUD
Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 46 von 50.
Aufgabe
MittelEin HUD, das nur zuhört. Behalte alles aus den früheren Lektionen bei. Der Canvas namens HUD enthält eine Gesundheitsleiste (HealthFill, ein gefülltes Bild), HealthText und WaveText sowie dein HUD-Skript, in dem hero, spawner, healthBar, healthText und waveText im Inspector festgelegt sind. Das HUD fragt weder den Helden noch den Spawner nach irgendetwas: Sie kündigen ihre Änderungen mit C#-Ereignissen an, und das HUD zeigt, was es hört.
Heroerhältpublic event Action<int, int> HealthChanged, das inStartmit der Gesundheit undmaxHealthausgelöst wird sowie immer dann, wenn ein Treffer oder eine Heilung die Gesundheit verändert.WaveSpawnererhältpublic event Action<int> WaveStarted, das beim Start einer Welle mit deren Nummer ausgelöst wird.HUDabonniert beide Ereignisse inOnEnableund meldet sich inOnDisablewieder ab. BeiHealthChangedfüllt es die Leiste entsprechend dem verbleibenden Gesundheitsanteil und zeigt die Gesundheit alsHP 3/5an. BeiWaveStartedzeigt esWave 2an. Es hat keinUpdate.
Löse HealthChanged in Start aus, nicht in Awake: Das OnEnable aller Objekte wird ausgeführt, bevor irgendein Start ausgeführt wird, sodass das HUD bis dahin zuhört. Drücke Play und beobachte das HUD während des Kampfes, dann Check.
Probier es selbst
using UnityEngine;
public class HUD : MonoBehaviour
{
// In einer späteren Lektion wird dies ergänzt: Gesundheit und Welle auf dem Bildschirm.
}
Alle Lektionen in Spielarchitektur in Unity
1Komponenten statt Hierarchien
Kleine KomponentenEin Basisskript für GegnerAbstrakte KomponentenKomponenten im ZusammenspielRückblick: Modularer Geschützturm4Serialisierte Daten
Serialisierbare KlassenListen im InspectorEnums im InspectorRückblick: Loot-Tabelle7Zustandsautomaten
Zustände als KlassenEin ZustandsautomatÜbergängeGegner-KIWiederholung: Türzustände10Projekt: Arena-Überlebenskampf
Der HeldGegnertypen2Interfaces in Unity
IDamageableInterfaces und TryGetComponentGetComponentsRückblick: Interaktionstaste5ScriptableObjects
Daten-AssetsWaffenwerteGemeinsame EinstellungenWellen als DatenRückblick: Item-Datenbank8Wiederverwendbarer Code
ErweiterungsmethodenEin generisches SingletonGenerische HilfsmethodenRückblick: FindNearest