Unity 协同程序coroutine简单使用

2021-01-16 04:18

阅读:373

标签:用途   恢复   简介   tco   top   返回   视觉   浮点数   out   

简介

协同程序 coroutine 简称协程,

Unity的Update函数每帧调用一次,若想实现跨帧执行程序,这时需要使用协程

 

使用

声明返回值类型为IEnumerator的方法

1 IEnumerator MyFunction()
2 {
3   //Code1
4   yeild return null;
5   //Code2             
6 }

协程的执行可在任何时候用yield return null语句暂停。当时用yield语句时,协程暂时停止执行,并在下一帧于原位恢复。

yeild return后可接 new WaitForSeconds(n) 表示协程在n秒后恢复(n为浮点数).

 

协程的开始和结束

StartCoroutine(参数); //开始
StopCoroutine(参数);//结束

参数: 返回值为IEnumerator的方法,或者是方法名称的字符串。

其他结束方法:禁用GameObject对象会中断协程(但是禁用脚本组件不会中断).

 

用途

Buff,持续跳动伤害,触发延迟效果,一些视觉效果的延迟消失(激光,物体淡出);

可在方法体中通过循环来实现一些不必每帧都调用的周期性作业(通过WaitForSeconds(n)实现),减轻每帧的运算量。

Unity 协同程序coroutine简单使用

标签:用途   恢复   简介   tco   top   返回   视觉   浮点数   out   

原文地址:https://www.cnblogs.com/KingR/p/12927070.html


评论


亲,登录后才可以留言!