La interfaz (HUD)
Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 58 de 64.
Desafío
IntermedioCrea un HUD que solo escucha.
Heroobtienepublic event Action<int, int> HealthChanged; actívalo con(health, maxHealth)enStarty en cada cambio.WaveSpawnerobtienepublic event Action<int> WaveStarted, que se activa conWaveal comenzar cada oleada.- En
HUD, suscríbete enOnEnabley cancela la suscripción enOnDisable; rellenahealthBary muestraHP 3/5yWave 2. No usesUpdate.
Pulsa «Jugar» y lucha: el HUD se mantiene actualizado. Después, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class HUD : MonoBehaviour
{
[SerializeField] private Hero hero;
[SerializeField] private WaveSpawner spawner;
[SerializeField] private Image healthBar;
[SerializeField] private TMP_Text healthText;
[SerializeField] private TMP_Text waveText;
// Una lección posterior completará esto: la salud y la oleada en pantalla.
}
Todas las lecciones de Arquitectura de juegos en Unity
1Componentes, no jerarquías
Componentes pequeñosUn script base para enemigosComponentes abstractosComponentes que trabajan juntosRepaso: torreta modularRepaso: cañón doble4Datos serializados
Clases serializablesListas en el InspectorEnumeraciones en el InspectorRepaso: tabla de botínRepaso: sortear el botín7Máquinas de estados
Estados como clasesEl estado de alertaUna máquina de estadosTransicionesCerebros enemigosEl caballero atacaRepaso: estados de puertas10Proyecto: Superviviente de la arena
El héroeTipos de enemigos2Interfaces en Unity
IDamageableInterfaces y TryGetComponentGetComponentsRepaso: Tecla de interacciónRepaso: El más cercano al alcance5ScriptableObjects
Activos de datosEstadísticas de armasConfiguración compartidaGuardar el vientoOleadas como datosRepaso: base de datos de objetosRepaso: comprar en la tienda3Eventos
Eventos de C# en UnitySuscribirse en OnEnableCampos UnityEventLos eventos controlan la interfazRepaso: ventana emergente de logrosRepaso: temporizador de la ventana emergentePractica por tu cuenta: Playground de Unity