1. 程式人生 > >Unity在協程內部停止協程自身後代碼執行問題

Unity在協程內部停止協程自身後代碼執行問題

num png urn cor art turn oid col 測試

當在協程內部停止自身後,後面的代碼塊還會繼續執行,直到遇到yield語句才會終止。

經測試:停止協程,意味著就是停止yield,所以在停止協程後,yield之後的語句也就不會執行了。

代碼如下:

 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class Test : MonoBehaviour {
 5 
 6     void Start () {
 7         StartCoroutine("Method");
 8     }
 9 
10     IEnumerator Method() {
11
StopCoroutine("Method"); 12 Debug.Log("協程停止"); 13 yield return 0; 14 Debug.Log("協程yield之後的代碼"); 15 } 16 }

執行結果如下:

技術分享

Unity在協程內部停止協程自身後代碼執行問題