敵のウェーブ
CoddyのUnityジャーニー「Unityのゲームアーキテクチャ」セクションの一部。レッスン 54/64。
チャレンジ
中級敵をウェーブごとに出現させます。
WaveSet.csで、publicなEnemy enemy、count、spacingを持つ[System.Serializable]クラスWaveを追加します。WaveSetに[CreateAssetMenu]、public List<Wave> waves、public float restBetweenWavesを追加します。WaveSpawnerで、Startから呼び出すコルーチンがウェーブを無限に繰り返すようにします。Waveに1を加え、Wave 1をログに出力し、spacing秒ごとにspawnPoints[i % spawnPoints.Length]に敵iを出現させ、その後休止します。
「プレイ」を押します。グラントが出現し、その後ダッシャーが出現します。次に「確認」を押します。
自分で試してみよう
using UnityEngine;
public class WaveSpawner : MonoBehaviour
{
[SerializeField] private WaveSet waveSet;
[SerializeField] private Transform[] spawnPoints;
public int Wave { get; private set; }
// 後のレッスンでここを実装します:敵のウェーブをアリーナに送り込みます。
}
Unityのゲームアーキテクチャのすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド