unity 等待某个动作执行结束再继续执行,怎么写
时间: 2024-10-10 20:13:53 浏览: 98
在Unity中,如果你想让游戏脚本等待某个动作(例如,一个Coroutine、异步操作或Unity内置的WaitForSeconds函数)执行完毕后再继续执行,可以使用`yield return`关键字配合`WaitForCompletion()`或类似方法。这里是一个基本的例子:
```csharp
IEnumerator MyActionThatNeedsToFinish()
{
// 开始执行需要等待的动作
StartCoroutine(MyCoroutine());
// 使用yield等待当前Coroutine完成
yield return StartCoroutine(MyCoroutine()); // 如果是Coroutine
// 或者等待特定时间
yield return new WaitForSeconds(MyDuration);
// 当前action执行完后,继续下面的代码
// 这里是你想要在动作完成后执行的部分
}
// 示例中的Coroutine
IEnumerator MyCoroutine()
{
Debug.Log("Executing action...");
// ...此处执行耗时操作...
Debug.Log("Action finished.");
}
```
当你调用`MyActionThatNeedsToFinish()`时,Unity会暂停并执行里面的代码,直到`MyCoroutine()`或其他等待条件完成后才会继续。
阅读全文