您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d中update与fixedUpdate的区别(六)

2015-10-16 10:28 267 查看
它如何工作呢?

update:和fixedUpdate:方法实际这样工作.

Cocos2D将从iOS接口中取得时间间隔(delta)在你的游戏代码执行期间,并且检查fixedUpdate:方法在间隔期间应该被调用多少次.然后Cocos2D调用fixedUpdate:方法需要的次数.

换句话说,它只是将时间间隔分割成均匀的小块,然后再在每个小块中调用fixedUpdate方法.这就是为什么传递给fixedUpdate:方法的delta参数总是一个常量,并且该值被设置为CCSetupFixedUpdateInterval配置选项.

然后,在调用fixedUpdate所需的次数之后,Cocos2D将调用update:方法1次,仅仅1次哦!

在这个例子中,update:方法的delta参数包括了在它被调用时所实际经历的时间.

我应该总是使用fixedUpdate:方法吗?

在学习了fixedUpdate:方法之后,你可能认为应该总是使用fixedUpdate:方法,但这不完全正确.

如果你移动非物理对象,比如所只是升级标签(label)文本或是UI界面,则此时没有理由使用fixedUpdate:方法.否则你可能只是在那些帧完成了没有必要的工作:在渲染之前执行了原本只需要执行1次的代码很多次.

不管如何,如果你要检测碰撞,操作物理对象(你自己实现的或是通过物理引擎实现的),你应该总是使用fixedUpdate:.

全文译完,原文链接在第一篇中,谢谢观赏 ;)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos2d update fixedUpdat