【发布时间】:2021-02-06 13:15:56
【问题描述】:
我正在 Unity 中制作 2d 游戏,并在其中使用此代码实例化敌人
void Update()
{
StartCoroutine("EnemyInstance");
}
IEnumerator EnemyInstance()
{
float positionRandoming = Random.Range(1f, 2f);
if (positionRandoming < 1.5f)
{
Instantiate(enemyPrefeb, new Vector3(-4.3f, -1.45f, 1f), position1.rotation, transform.parent);
enemyScript.pos = 1;
}
if (positionRandoming >= 1.5f)
{
Instantiate(enemyPrefeb, new Vector3(3.6f, -1.45f, 1f), position2.rotation, transform.parent);
enemyScript.pos = 2;
}
yield return new WaitForSeconds(2.4f);
}
在这段代码中,IEnumerator 方法正在执行它们的工作,但不产生返回新的 WaitForSeconds。意味着如果我在 Unity 中运行它,敌人会在每一帧中实例化。 我该如何解决?
【问题讨论】:
标签: c# unity3d ienumerator