Unity 协程循环调用
时间: 2024-10-17 11:12:28 浏览: 26
深入浅出Unity协程.rar
在Unity引擎中,协程(Coroutine)是一种轻量级的任务调度机制,允许你在游戏循环中按照特定的时间间隔或条件运行一段代码,同时保持主线程的流畅性,不会阻塞UI更新。如果你想创建一个循环调用的协程,通常可以使用`IEnumerator`接口和`yield return`关键字。
例如,你可以这样做:
```csharp
IEnumerator LoopExample(float interval) {
while (true) {
// 执行你的任务
Debug.Log("Running task...");
// 每隔interval秒执行一次
yield return new WaitForSeconds(interval);
}
}
```
然后,在一个游戏场景或Update函数中这样启动协程:
```csharp
void Start() {
StartCoroutine(LoopExample(1f)); // 每秒执行一次
}
void Update() {
// 其他代码...
}
```
当需要停止协程时,只需调用`StopCoroutine()`并传入协程的引用:
```csharp
if (Input.GetKeyDown(KeyCode.Escape)) {
StopCoroutine(LoopExampleHandle); // 假设LoopExampleHandle是协程实例名
}
```
阅读全文