Unity3d之Coroutine

在Unity3d中使用C#時,Coroutine是一個大有用處的好東西,至於怎麼用網上多的是講,我僅在此記錄最近一次使用中的小發現。函數

 

由於某種需求,要在一個Coroutine實現中使用while循環,代碼大體以下:測試

1 IEnumerator func()
2 {
3     while(condition)
4     {
5         doSomething();
6         yield return new WaitforSeconds(1f);
7     }
8 }

當condition==false時,指望結束該Coroutine的執行。幾經測試,發現 spa

1. 當condition在兩次協同執行的間歇期(1秒)內快速的由true變爲false時,該函數中的while循環不受任何影響,正常執行3d

2. StopCoroutine("func") 並不能結束該協同函數的執行code

3. StopAllCoroutine 則能夠正常的結束該協同函數的執行blog

相關文章
相關標籤/搜索