21# 1942 Classic 8.
V této lekci vytvoříme více vln, které se nám posupně spawnou. Budeme k tomu potřeboval další Coroutine (SpawnAllWaves), ve které budeme mít zabalenou naši původní Coroutine SpawnAllEnemiesInWave. Výsledný průběh programu bude, načteme číslo vlny, spustíme coroutine, která spustí coroutine vlny, až doběhne vlna, vrátíme se ke couroutine spuštení vlny, kdy zapneme další vlnu.
Otevřeme si EnemySpawner.cs a založíme si novou courotine. Ta se bude jmenovat SpawnAllWaves a bude private.
Stejně jako ve SpawnAllEnemiesInWave i zde budeme potřebovat For smyčku, kdy ta by měla proběhnout pro každou vlnu, kterou máme připojenou.
Ve void Start() máme aktuálně řádek, ve kterém ukládáme začínající vlnu jako proměnnou a jako další je spuštění rutiny, kde spawneme nepřátele této vlny. Oboje již nebudeme ve Startu potřebovat, protože to bude práce pro SpawnAllWaves. Tuto rutinu musíme zapnout ve start a tak jen odstraníme uložení do proměnné a upravíme zapnutí rutiny, aby spustila SpawnAllWaves().
Nyní samotné poslání vlny. Napřed chceme uložit aktuální vlnu do proměnné a pak jej chceme poslat do funkce SpawnAllEnemiesInWave, která potřebuje waveConfig. Jaké je právě vlna určuje waveIndex.
Uložíme a přepneme se do Unity. Uděláme si pár nových nepřátel, pár vln a cest a uvidíme jak všechno funguje.
Napřed Sprites, najdeme si v KenneySpace – PNG Obrázky, které chceme použít pro další nepřátele. Já použiji zbytek barevných mimozemšťanů a přetáhnu si je do složky Assets -> Sprites.
Jako další bod si uděláme prefab nových nepřátel. Ze složky Prefabs si do scény přetáhneme nepřítele. Klikneme si na něj, zamkneme si inspektor a přetáhneme do Sprite jiný než aktuálně máme ve hře. Poté ho z hierarchie přetáhneme do Prefabs. Unity se nás zeptá jestli Chceme vytvořit originál, variantu nebo zrušit. A my chceme vytvořit originál. Opakujeme tolikrát, kolik chcete různých nepřátel (samozřejmě můžete později přidávat další).
Ve Sprites můžete později nastavit velikost jednotlivých nepřátel. – Pixel Per Unit (Menší číslo = větší nepřítel)
Odstraníme si nepřítele ze scény, protože jediné proč jsme ho potřebovali bylo vytvoření prefabs. A začneme vytvářet Path (1). Pravé tlačítko na Path (0) v hierarchii, změníme si barvy bodů, přidáme nějaké další nebo nějaké odeberem a vytvoříme nové cesty. Ty pak uložíme jako prefabs.
Jako poslední si v Assets -> Waves Vytvoříme nové Vlny (Pravé tlačítko, create, Enemy Wave Config). Každé vlně připojíme cestu a nepřátele. Můžeme upravit i počet nepřátel a jejich rychlost.
Jako poslední přidáme jednotlivé vlny do Enemy Spawner a máme hotovo.
V příští lekci uděláme smyčku, aby se vlny opakovaly.
0 Comments