水木神川 发表于 2021-6-12 20:20:58

LQ转载--Unity3D基础30:协同程序

一、协同程序
协同程序:能暂停执行,暂停后立即返回,直到中断指令完成后继续执行的函数,类似一个子线程单独出来处理一些问题,性能开销较小,若在脚本运行过程中,需要额外的执行一些其他的代码,这个时候就可以将“其他的代码”以协程的形式来运行

普通程序都是自上而下的执行过程,协同程序就相当于给予其中一些语句开开辟捷径单独执行

·只有在继承了“MonoBehaviour”这个类的子类中才能使用相关的协程方法
·在一个MonoBehaviour提供的主线程里也只能有一个处于运行状态的协程
·协同程序很容易写出各种BUG(这是误解)

使用方法:



参数说明:
·IEnumerator:协同程序的返回值类型
·yield return:协同程序返回内容,必须要有至少一个返回
·new WaitForSeconds:实例化一个对象,等待多少秒后继续执行

开启与关闭协同程序
·StartCoroutine(string):开始执行协程string
·StopCoroutine(string):停止执行协程string

代码和效果如下:





————————————————
版权声明:本文为CSDN博主「Jaihk662」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jaihk662/article/details/86768087



haha123 发表于 2021-6-14 16:20:53

谢谢楼主共享!!
页: [1]
查看完整版本: LQ转载--Unity3D基础30:协同程序