Unity在协程内部停止协程自身后代码执行问题
当在协程内部停止自身后,后面的代码块还会继续执行,直到遇到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 }
执行结果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步