下面是我写的代码,使用invokerepeating方法的时候,出来的效果不是平均间隔的,这个是什么导致的呢?
有什么办法解决吗?
void Start()
{
_instance = this;
levelEnemyCount = Random.Range(level, level * 2);
Debug.Log(levelEnemyCount);
//是否可孵化敌人
if (enemyAlive == 0 && levelEnemyCount != 0)
{
InvokeRepeating("Spawn", 0, intervalTime);
//Spawn();
}
}
void Update()
{
if (enemyAlive == 0 && levelEnemyCount == 0)
{
level++;
levelEnemyCount = Random.Range(level, level * 2);
InvokeRepeating("Spawn", levelIntervalTime, intervalTime);
Debug.Log(levelEnemyCount);
}
}
void Spawn()
{
//生成敌人
if(levelEnemyCount > 0)
{
//固定位置初始化敌人位置
enemyGameObject = Instantiate(enemyPrefabs[Random_Unm(enemyPrefabs.Length - 1)],
spawnPos[Random_Unm(spawnPos.Length - 1)].localPosition, Quaternion.identity);
Debug.Log(Time.deltaTime);
//设置敌人父物体
enemyGameObject.transform.SetParent(GameObject.Find("EnemyHold").transform, false);
levelEnemyCount--;
enemyAlive++;
}
}