Unity协程(Coroutine)

在进行主任务的过程中我们需要一个对资源消耗极大的操作时,如果在一帧中实现这一的操作,游戏就会变得十分卡顿,这个时候,我们就可以通过协程,在一定帧内完成该工作的处理,同时不影响主任务的进行。

实现原理

协程依旧是在主线程中进行,通过关键字IEnumerator来定义一个迭代方法,在迭代方法中使用yield关键字,可以使协程的运行暂停、记录下一次启动的时间与位置等。

在程序中通过StartCoroutine来开启一个协程,StopCoroutine来关闭一个协程。

注意不是IEnumerable,它是在IEnumerator基础上的一个封装接口,有一个GetEnumerator()方法返回IEnumerator

使用方法

StartCoroutine的重载:

StartCoroutine(string methodName):通过方法的名字来开启协程

StartCoroutine(string methodName,object values):带形参的情况下,通过方法的名字来开启协程

StartCoroutine(IEnumerator routine):通过指定的方法调用协程

StopCoroutine的重载:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值