gpt4 book ai didi

c# - 如果两个条件之一为真,则结束协程

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:27 24 4
gpt4 key购买 nike

我没有完全理解协程。

如果我有一个每帧执行某项操作的协程,如果两个条件之一为真,我该如何结束这种循环行为?

当我说结束时,我的意思也是销毁,而不是进入暂停状态或其他暂停或未完成状态,因此如果不同的条件变为真,我可以重新启动协程。

最佳答案

如果条件存在于协程之外,则使用StopCoroutine:

var coroutine = StartCoroutine(MyRoutine());
...
if (conditionA || conditionB) {
StopCoroutine(coroutine);
}

如果协程内部存在条件,您只需yield break:

IEnumerator MyRoutine() {
while (true) {
if (conditionA || conditionB) {
yield break; // stop stepping this
}
yield return null; // continue stepping next frame
}
}

关于c# - 如果两个条件之一为真,则结束协程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51070766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com