Unity中协程(IEnumerator)

Unity中的协程允许开发者创建耗时操作而不会阻塞主线程,防止帧率下降和画面卡顿。通过使用IEnumerator,我们可以实现物体的平滑缓慢消失等效果。yield return语句在协程中起到关键作用,确保协程可以暂停并在后续帧继续执行。

在Unity中,一般的方法都是顺序执行的,一般的方法也都是在一帧中执行完毕的,当我们所写的方法需要耗费一定时间时,便会出现帧率下降,画面卡顿的现象。当我们调用一个方法想要让一个物体缓慢消失时,除了在Update中执行相关操作外,Unity还提供了更加便利的方法,这便是协程。 

IEnumerator Loadlefthandbyte(string path)
    {
        WWW www = new WWW(path);
        yield return www;//使用协程必须用yield return返回
        LoadRemoteLeftHand(www.bytes);
    }
public void Update()
{

       StartCoroutine(Loadlefthandbyte(Leftpath));//如果不写StartCoroutine无法完成调用

}

如果只想在初始化调用一次:

IEnumerator Start()
    {
        WWW www = new WWW(path);
        yield return www;
        LoadRemoteRightHand(www.bytes);
    }

yield return介绍:

yield return null; // 下一帧再执行后续代码
yield return 0; //下一帧再执行后续代码
yield return 6;//(任意数字) 下一帧再执行后续代码
yield break; //直接结束该协程的后续操作
yield return asyncOperation;//等异步操作结束后再执行后续代码
yield return StartCoroution(/*某个协程*/);//等待某个协程执行完毕后再执行后续代码
yield return WWW();//等待WW
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值