敵のランダム出現
コルーチンを使い、最大出現数を設定。
2体発生させるオブジェクトを作成したとしたら、
そのオブジェクトを発生させたい場所に配置する。
マップ全体を把握して、配置させる方法もあるのかもしれませんが、
調べてみた所、これが簡単そうです。
public class EnemyGeneratorCtrl : MonoBehaviour {
//生まれてくる敵プレハブ
public GameObject enemyPrefab;
//敵を格納
GameObject[] existEnemys;
//アクティブ最大数
public int maxEnemy = 2;
// Use this for initialization
void Start () {
//配列確保
existEnemys = new GameObject[maxEnemy];
//周期的に実行したい場合はコルーチン
StartCoroutine (Exec());
}
//敵を作成する
IEnumerator Exec(){
while (true) {
Generate ();
yield return new WaitForSeconds (3.0f);
}
}
void Generate(){
for(int enemyCount = 0; enemyCount < existEnemys.Length; ++ enemyCount){
if(existEnemys[enemyCount] == null){
//敵を作成する
existEnemys[enemyCount] = Instantiate(enemyPrefab,transform.position,transform.rotation) as GameObject;
return;
}
}
}