1.建立協程
迭代器:ienumerator
private ienumerator test()
裡面可以使用
yield return new waitforsecond(1);//等待1s後執行後面的**
yield return new waitforseconds(0.3f);//等待0.3秒,一段指定的時間延遲之後繼續執行,在所有的update函式完成呼叫的那一幀之後(這裡的時間會受到time.timescale的影響);
yield return new waitforsecondsrealtime(0.3f);//等待0.3秒,一段指定的時間延遲之後繼續執行,在所有的update函式完成呼叫的那一幀之後(這裡的時間不受到time.timescale的影響);
2.呼叫與結束這個協程
呼叫協程的方法有兩種
① startcoroutine(「test」);
② startcoroutine(test());
結束:① stopcoroutine(「test」);
② stopcoroutine(test());
協程裡面的內容呼叫完了會自動停止,stopcoroutine用於手動結束,stopallcoroutines——結束當前執行的所有協程。
Unity中協程方法使用
開啟協程 void start 返回值是ienumerator 返回引數時使用 yield return null 協程方法的呼叫是startcoroutine changecolor ienumerator changecolor 關閉協程 關閉協程的方法需要和開啟協程的方法對應 不能使用star...
Unity 協程詳解
class myiter ienumerable myiter iter newmyiter foreach int num in iter 我們需要讓資料結構支援foreach遍歷,所以要繼承ienumerable介面,實現getenumerator方法返回乙個迭代器,那麼這裡就很奇怪,返回值明明...
Unity中的協程是什麼?
什麼是協程?1 協程是乙個分部執行,遇到條件 yield return 語句 會掛起,直到條件滿足才會被喚醒繼續執行後面的 2 unity在每一幀 frame 都會去處理物件上的協程。unity主要是在update後去處理協程 檢查協程的條件是否滿足 但也有寫特例。什麼情況是條件滿足?在協程方法中使...