update:和fixedUpdate:方法实际这样工作.
Cocos2D将从iOS接口中取得时间间隔(delta)在你的游戏代码执行期间,并且检查fixedUpdate:方法在间隔期间应该被调用多少次.然后Cocos2D调用fixedUpdate:方法需要的次数.
换句话说,它只是将时间间隔分割成均匀的小块,然后再在每个小块中调用fixedUpdate方法.这就是为什么传递给fixedUpdate:方法的delta参数总是一个常量,并且该值被设置为CCSetupFixedUpdateInterval配置选项.
然后,在调用fixedUpdate所需的次数之后,Cocos2D将调用update:方法1次,仅仅1次哦!
在这个例子中,update:方法的delta参数包括了在它被调用时所实际经历的时间.
在学习了fixedUpdate:方法之后,你可能认为应该总是使用fixedUpdate:方法,但这不完全正确.
如果你移动非物理对象,比如所只是升级标签(label)文本或是UI界面,则此时没有理由使用fixedUpdate:方法.否则你可能只是在那些帧完成了没有必要的工作:在渲染之前执行了原本只需要执行1次的代码很多次.
不管如何,如果你要检测碰撞,操作物理对象(你自己实现的或是通过物理引擎实现的),你应该总是使用fixedUpdate:.
全文译完,原文链接在第一篇中,谢谢观赏 ;)