Fale wrogów
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 54 z 64.
Wyzwanie
ŚredniWysyłaj wrogów falami.
- W pliku
WaveSet.csdodaj klasęWavez atrybutem[System.Serializable], zawierającą publiczne polaEnemy enemy,countispacing. - Dodaj do
WaveSetatrybut[CreateAssetMenu], polepublic List<Wave> wavesi polepublic float restBetweenWaves. - W
WaveSpawnerkorutyna uruchamiana zStartzapętla fale na zawsze: zwiększaWaveo 1, wypisujeWave 1, cospacingsekund umieszcza wrogaiw punkciespawnPoints[i % spawnPoints.Length], a następnie robi przerwę.
Naciśnij „Graj”: najpierw grunty, potem dasherzy. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class WaveSpawner : MonoBehaviour
{
[SerializeField] private WaveSet waveSet;
[SerializeField] private Transform[] spawnPoints;
public int Wave { get; private set; }
// W jednej z kolejnych lekcji uzupełnimy ten fragment: fale będą wysyłane na arenę.
}
Wszystkie lekcje w sekcji Architektura gier w Unity
1Komponenty, nie hierarchie
Małe komponentyBazowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPowtórka: modułowa wieżyczkaPowtórka: podwójne działo4Dane serializowane
Klasy serializowalneListy w InspectorzeEnumy w InspectorzePodsumowanie: tabela łupówPodsumowanie: losowanie łupów7Maszyny stanów
Stany jako klasyStan alarmowyMaszyna stanówPrzejściaMózgi przeciwnikówAtaki rycerzaPodsumowanie: stany drzwi10Projekt: Arena przetrwania
BohaterRodzaje wrogów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPowtórka: klawisz interakcjiPowtórka: najbliższy w zasięgu5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaOcal wiatrFale jako danePowtórka: Baza przedmiotówPowtórka: Kupowanie w sklepie8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearestPoćwicz samodzielnie: Edytor online Unity