正常狀況下,協程是在Update函數返回時執行,而協程的主要功能是延緩其執行,指定給定的YieldInstruction完成。函數
經常使用的協程有:url
yield:當下一幀全部的Update方法被調用以後,協程繼續執行。spa
yield WaitForSeconds:等待指定時間後,協程繼續。code
yield WaitForFixedUpdate:在全部腳本上的全部FixedUpdate被調用以後繼續執行。協程
yield WWW:在WWW加載完成以後繼續執行。blog
yield StartCoroutine(Fun):等待協程Fun完成後執行。string
代碼實例:it
void Start () { StartCoroutine(PrintAfter_WaitAndPrintInvoke("OK!!!")); } IEnumerator WaitAndPrint(float time, string str) { yield return new WaitForSeconds(time); print(str); } IEnumerator PrintAfter_WaitAndPrintInvoke(string str) { yield return StartCoroutine(WaitAndPrint(3, "wait 3 second print")); print(str); } //在WWW加載完成後繼續執行 IEnumerator TestWWW() { string url = "http://img ges.ear thcam.com/ec_me tros/our cams/ fridays.jpg"; WWW www = new WWW(url); yield return www; }