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