Unity關閉協程,無法立刻殺死協程的問題

2021-10-06 13:20:06 字數 412 閱讀 6649

使用stopcoroutine(「名字」)或stopcoroutine(方法名),無法立刻殺死協程,還是會執行到結尾。

stopcoroutine()用string引數,只可以關閉startcoroutine()方法使用相同string引數開啟的攜程。

需要建立協程變數,並在startcorutine(),開啟協程時賦值。

stopcoroutine(協程變數名),即可殺死此協程。

//開啟協程

coroutine mycoroutine = startcoroutine(test());

//關閉協程

stopcoroutine(mycoroutine);

ienumerator test()

Unity 協程詳解

class myiter ienumerable myiter iter newmyiter foreach int num in iter 我們需要讓資料結構支援foreach遍歷,所以要繼承ienumerable介面,實現getenumerator方法返回乙個迭代器,那麼這裡就很奇怪,返回值明明...

Unity 之 協程 初級

協程可以通過startcoroutine 來呼叫 只需要在裡面穿進去乙個ienumerator型別的方法 就可以了。這個方法是可以帶有引數的哦。舉個例子 ienumerator test2 void start 這樣就在一開始呼叫這個test2的方法了 現在我來著重講講最讓人煩心的yield ret...

Unity中的協程

1.建立協程 迭代器 ienumerator private ienumerator test 裡面可以使用 yield return new waitforsecond 1 等待1s後執行後面的 yield return new waitforseconds 0.3f 等待0.3秒,一段指定的時間...