1. 程式人生 > 其它 >Unity協程

Unity協程

yield介紹

yield return null; // 下一幀再執行後續程式碼
yield return 0; //下一幀再執行後續程式碼
yield return 6;//(任意數字) 下一幀再執行後續程式碼
yield break; //直接結束該協程的後續操作
yield return asyncOperation;//等非同步操作結束後再執行後續程式碼
yield return StartCoroution(/*某個協程*/);//等待某個協程執行完畢後再執行後續程式碼
yield return WWW();//等待WWW操作完成後再執行後續程式碼
yield return new WaitForEndOfFrame();//等待幀結束,等待直到所有的攝像機和GUI被渲染完成後,在該幀顯示在螢幕之前執行
yield return new WaitForSeconds(0.3f);//等待0.3秒,一段指定的時間延遲之後繼續執行,在所有的Update函式完成呼叫的那一幀之後(這裡的時間會受到Time.timeScale的影響);
yield return new WaitForSecondsRealtime(0.3f);//等待0.3秒,一段指定的時間延遲之後繼續執行,在所有的Update函式完成呼叫的那一幀之後(這裡的時間不受到Time.timeScale的影響);
yield return WaitForFixedUpdate();//等待下一次FixedUpdate開始時再執行後續程式碼
yield return new WaitUntil()//將協同執行直到 當輸入的引數(或者委託)為true的時候....如:yield return new WaitUntil(() => frame >= 10);
yield return new WaitWhile()//將協同執行直到 當輸入的引數(或者委託)為false的時候.... 如:yield return new WaitWhile(() => frame < 10);