2016-06-24 19 views
-1
  • Derzeit habe ich Laichsystem, das einfache dann mittlere Feinde hervorbringt, aber ich bekomme Array außerhalb der Reichweite Fehler und es ist nur Laichen 4 der Feinde. Ich möchte x20 leicht (oder allgemeine Zahl) x20 Medium und dann zufällig zwischen

Dies ist mein Code (leicht, mittel und hart Feinde.):Feind Spawn System. Ich möchte, dass einfache Gegner zuerst spawnen, dann mittel, danach will ich, dass harte Gegner nonstop spawnen. Ich möchte es eine endlose Spawn Bitte

using UnityEngine; 
using System.Collections.Generic; 
using UnityEngine.UI; 

public class Test : MonoBehaviour 
{ 

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); 

} 

public void Remove (GameObject anything) 
{ 
    EnemiesList.Remove (anything); 
} 

} 
+0

für sehr allgemeine Fragen, versuchen Sie Gamedev.com oder vielleicht answers.unity3d.com. Diese Seite ist nur für spezielle Programmierfragen. – Fattie

Antwort

1

Ich glaube, Sie Ihre enemyCount festlegen müssen Variable, die auf die Länge Ihres Arrays festgelegt werden soll. Was, wenn du 15 Feinde im Array hast und enemyCount immer noch 20 ist? Klingt wie eine IndexOutOfRangeException für mich.

+0

Nein, als Test habe ich mein Array auf 2 und die Anzahl auf 2 geändert, aber ich bekomme immer noch den gleichen Fehler. – John