Unity协程的坑

时间:2023-12-09 14:05:19
unity终止协程提供了  StopAllCoroutines() 和 StopCoroutines() 两个方法, 但是都只能终止该文件内的 IEnumerator.
并且具体使用有点坑, 见如下实验:
结论:
单独终止xxx协程, 必须以 StartCoroutine("xxx") 开启, 以StopCoroutine("xxx")方式关闭.
Test1:
 Unity协程的坑     
Test1 Run:
Unity协程的坑
Test1结果:
     成功停止了SayWorld协程.
Test2:
Unity协程的坑
Test2 Run:
Unity协程的坑
Test2结果:
     这种写法并不能终止SayWorld协程.
Test3:
Unity协程的坑
Test3 Run:
Unity协程的坑
Test3 结果:
     这种方式也不能终止协程SayWorld.
猜测:
终止xxx协程, 必须以 StartCoroutine("xxx") 开启, 以StopCoroutine("xxx")方式关闭.
Test4:
Unity协程的坑
Test4 Run:
Unity协程的坑
Test4 结果:
     跟预判一致, 实验结果成立.