2016-06-25 4 views
-1

現在、私は簡単な、そして中位の敵を生み出す産卵システムを持っていますが、アレイの範囲外のエラーを出しています。それは唯一の4つの敵を産んでいます。私はしたいX20簡単に(または一般的な数)X20媒体との間で、ランダム(簡単、ミディアム、ハードの敵。)ユニティスポーンの敵

は、これは例外では敵[インデックス]から来るかもしれない私のコード

public GameObject[] enemy; 

public Transform[] spawnPoints;   

private float timer = 2; 


int index = 0 ; 

int wave = 0; 

List <GameObject> EnemiesList = new List<GameObject>(); 

private int enemyCount=20; 


void Update() 
{ 
timer -= Time.deltaTime; 

if (timer <= 0 && wave < 6) 
{ 
    timer = 3; 

    if (wave != 0 && wave % 2 == 0) 
    { 
     index ++ ; 
    } 

    EnemySpawner(); 

    wave++; 
} 

} 

void Spawn() 
{ 
    for (int i = 0; i<enemyCount;i++) 
    { 
     Invoke("EnemySpawner" , i + 2); 
    } 
} 

void EnemySpawner() 
{ 
    int spawnPointIndex = Random.Range (0, spawnPoints.Length); 

GameObject InstanceEnemies= Instantiate (enemy[index] , spawnPoints[spawnPointIndex].position , spawnPoints[spawnPointIndex].rotation) as GameObject; 

EnemiesList.Add(InstanceEnemies); 

} 

} 

答えて

0

で、あなたをコードは0,1,2のインデックスを使用します。敵[]にアドバイスされた3つのGameObjectsはありますか? spawnPoints [0]その例外につながるよう

または

spawnPointsは[spawnPointIndex]、空である可能性があります。 spawnPoints []に少なくとも1つのトランスフォームがありますか?

if (index > 0 && index < enemy.Length && spawnPointIndex > 0 && spawnPointIndex < spawnPoints.Length) 
{ 
    GameObject InstanceEnemies= Instantiate (enemy[index] , spawnPoints[spawnPointIndex].position , spawnPoints[spawnPointIndex].rotation) as GameObject; 

    EnemiesList.Add(InstanceEnemies); 
} 
+0

エラーがインデックスではないspawnPointIndexから来ている、そして、どのように私はしてください産卵は無限にすることができます?あなたはこのような何かを行うことができ、例外を防ぐため

ありがとう:) – John

関連する問題