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:.
全文译完,原文链接在第一篇中,谢谢观赏 ;)
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:.
全文译完,原文链接在第一篇中,谢谢观赏 ;)
相关文章推荐
- Java Runtime Environment 5.0 Update 12 下载
- sql update 触发器 可获得被update的行的信息
- Mysql 原生语句中save or update 的写法汇总
- oracle中UPDATE nowait 的使用方法介绍
- sqlserver中delete、update中使用表别名和oracle的区别
- SQL Server UPDATE语句的用法详解
- SQL Server中的XML数据进行insert、update、delete
- SQL Server中的XML数据进行insert、update、delete操作实现代码
- 使用 TOP 子句限制UPDATE 语句更新的数据
- sql server的 update from 语句的深究
- SQL Update多表联合更新的方法
- update 子查询使用介绍
- 也许是被忽略的update语句(update技巧)
- mysql多表join时候update更新数据的方法
- mysql ON DUPLICATE KEY UPDATE语句示例
- MySQL SELECT同时UPDATE同一张表问题发生及解决
- MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解
- MySQL 从一张表update字段到另外一张表中
- SQL语句详解 MySQL update的正确用法
- php+MySQL判断update语句是否执行成功的方法