Gegnerwellen
Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 54 von 64.
Aufgabe
MittelLass die Gegner in Wellen erscheinen.
- Füge in
WaveSet.cseine mit[System.Serializable]markierte KlasseWavemit den öffentlichen FeldernEnemy enemy,countundspacinghinzu. - Versehe
WaveSetmit[CreateAssetMenu]sowiepublic List<Wave> wavesundpublic float restBetweenWaves. - In
WaveSpawnerdurchläuft eine Coroutine, die vonStartgestartet wird, die Wellen endlos: ErhöheWaveum 1, protokolliereWave 1, lasse allespacingSekunden GegnerianspawnPoints[i % spawnPoints.Length]erscheinen und mache dann eine Pause.
Drücke „Spielen“: erst Grunts, dann Dasher. Drücke danach „Prüfen“.
Probier es selbst
using UnityEngine;
public class WaveSpawner : MonoBehaviour
{
[SerializeField] private WaveSet waveSet;
[SerializeField] private Transform[] spawnPoints;
public int Wave { get; private set; }
// In einer späteren Lektion wird dies ergänzt: Die Wellen werden in die Arena geschickt.
}
Alle Lektionen in Spielarchitektur in Unity
1Komponenten statt Hierarchien
Kleine KomponentenEin Basis-GegnerskriptAbstrakte KomponentenZusammenwirkende KomponentenRückblick: Modulares GeschützRückblick: Zwillingskanone4Serialisierte Daten
Serialisierbare KlassenListen im InspectorEnums im InspectorRückblick: Loot-TabelleRückblick: Beute auswürfeln7Zustandsautomaten
Zustände als KlassenDer AlarmzustandEin ZustandsautomatÜbergängeGegner-KIDer Ritter greift anRückblick: Türzustände10Projekt: Überleben in der Arena
Der HeldGegnertypen2Schnittstellen in Unity
IDamageableSchnittstellen und TryGetComponentGetComponentsZusammenfassung: InteraktionstasteZusammenfassung: Nächstes in Reichweite5ScriptableObjects
Daten-AssetsWaffenwerteGemeinsame EinstellungenDen Wind speichernWellen als DatenRückblick: Item-DatenbankRückblick: Im Shop einkaufen8Wiederverwendbarer Code
ErweiterungsmethodenEin generisches SingletonGenerische HilfsmethodenRückblick: FindNearestÜbe selbstständig: Unity-Playground