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

查看:442 |回复:1 | 2021-6-12 20:20:58

您需要 登录 才可以下载或查看,没有账号?注册

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

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

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

使用方法:

360截图20210612201907140.jpg

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

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

代码和效果如下:

360截图20210612201920196.jpg



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



2021-6-12 20:20:58  
 赞 赞 0

使用道具 登录

1个回答,把该问题分享到群,邀请大神一起回答。
2#
谢谢楼主共享!!
回复 收起回复
2021-6-14 16:20:53   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

手机游戏引擎手游引擎Unity3D技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表