[英]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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.