Unity协程的坑
Posted yucode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity协程的坑相关的知识,希望对你有一定的参考价值。
unity终止协程提供了 StopAllCoroutines() 和 StopCoroutines() 两个方法, 但是都只能终止该文件内的 IEnumerator.
并且具体使用有点坑, 见如下实验:
结论:
单独终止xxx协程, 必须以 StartCoroutine("xxx") 开启, 以StopCoroutine("xxx")方式关闭.
Test1:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/a03af40b-ddc5-4604-b40f-0b691f49c401/e24ab4af-4f21-4b74-81ef-3078eeb23c98.png)
Test1 Run:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/8840e4c1-6d17-436e-943d-403766bef0f7/e9d523d5-6a28-4c5b-9ff4-4e7e3998e0dc.png)
Test1结果:
成功停止了SayWorld协程.
Test2:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/460bb4f5-72f9-44d9-bd94-b2d10d13aa7e/5e9774d6-38d9-4e7d-a5cd-dfad0a3e68b4.png)
Test2 Run:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/af026512-d467-4b3c-9e23-67464b07b3f8/6f48c609-cc85-45f0-ba46-ccccfa80bcd4.png)
Test2结果:
这种写法并不能终止SayWorld协程.
Test3:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/d9c18fc8-073a-402f-9796-63bca1c44df1/QQ%E6%88%AA%E5%9B%BE20161222161642.png)
Test3 Run:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/3e691838-aa29-4394-895b-a8d7230fea59/QQ%E6%88%AA%E5%9B%BE20161222161652.png)
Test3 结果:
这种方式也不能终止协程SayWorld.
猜测:
终止xxx协程, 必须以 StartCoroutine("xxx") 开启, 以StopCoroutine("xxx")方式关闭.
Test4:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/2e939758-400d-454e-b77e-c747191e24a3/QQ%E6%88%AA%E5%9B%BE20161222162309.png)
Test4 Run:
![技术分享图片](https://app.yinxiang.com/shard/s66/res/68e90eb2-8e58-4f00-aba4-445dbfb4b25e/QQ%E6%88%AA%E5%9B%BE20161222162322.png)
Test4 结果:
跟预判一致, 实验结果成立.
以上是关于Unity协程的坑的主要内容,如果未能解决你的问题,请参考以下文章