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

End Coroutine if one of two conditions becomes true

我不是很了解协程。

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

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

如果条件存在于协程之外,你使用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
    }
}