Oleadas de enemigos
Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 54 de 64.
Desafío
IntermedioEnvía a los enemigos en oleadas.
- En
WaveSet.cs, añade una claseWavecon[System.Serializable], y los campos públicosEnemy enemy,countyspacing. - Añade a
WaveSet[CreateAssetMenu],public List<Wave> wavesypublic float restBetweenWaves. - En
WaveSpawner, una corrutina iniciada desdeStartrecorre las oleadas sin parar: suma 1 aWave, registraWave 1, genera al enemigoienspawnPoints[i % spawnPoints.Length]cadaspacingsegundos y después descansa.
Pulsa «Jugar»: gruñones y después velocistas. Luego, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
public class WaveSpawner : MonoBehaviour
{
[SerializeField] private WaveSet waveSet;
[SerializeField] private Transform[] spawnPoints;
public int Wave { get; private set; }
// Una lección posterior completará esto: enviará las oleadas a la arena.
}
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