在 C# 中等待 Unity 3D 游戏引擎?

Waiting in Unity 3D game engine in C#?

使用 C# 的 Unity 3D 游戏引擎中是否有命令让代码在某些事情发生之前等待?这是一个例子:

void Start () {
    //(wait code here)
    Connect();
}

使用 Unity3D 游戏引擎教程执行此操作的推荐方法是 WaitForSeconds,它等待给定的浮点值(例如 0.5f 半秒)。

但是使用此规则,您需要将 class 设置为 IEnumerator,因此:

public flat StartWait;

IEnumerator SpawnWaves ()
    {
        //your code
        yield return new WaitForSeconds (StartWait);
    }

这会导致 class/object 等待而不冻结整个游戏逻辑。也可以看看 http://unity3d.com/learn/tutorials/projects/space-shooter/spawning-waves

http://docs.unity3d.com/ScriptReference/WaitForSeconds.html