【发布时间】:2014-12-08 23:17:46
【问题描述】:
我正在开发一款游戏,我想在其中生成一波又一波的敌人。在每一波敌人中,我从不同的生成点生成。例如,我有 6 个生成点,第一波敌人从第 4 点生成,第二波从第 1 点生成,等等。
我写了一个代码,让我生成一波波敌人,但我的问题是它从第一波敌人中的所有 6 个生成点生成一波波敌人。
当我点击播放时,我有来自 6 个重生点的一波敌人,而不是每一波的一个重生点。
using UnityEngine;
using System.Collections;
public class Waves : MonoBehaviour
{
public GameObject Enemy = null;
public int hazardCount = 3;
public float spawnWait=0.5f;
public float startWait=1;
public float waveWait=4;
public Transform[] spawnPoints;
void Start ()
{
StartCoroutine(SpawnWaves ());
}
IEnumerator SpawnWaves ()
{
yield return new WaitForSeconds (startWait);
while (true)
{
for (int i = 0; i < hazardCount; i++)
{
int spawnPointIndex = Random.Range (0, spawnPoints.Length);
Instantiate (Enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
yield return new WaitForSeconds (spawnWait);
}
yield return new WaitForSeconds (waveWait);
}
}
}
【问题讨论】: