當在協程內部停止自身后,后面的代碼塊還會繼續執行,直到遇到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 }
執行結果如下: