Cocos2d中update与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:.

全文译完,原文链接在第一篇中,谢谢观赏 ;)

相关文章
|
6月前
|
编译器 C++
c++新特性:=delete
c++新特性:=delete
|
SQL
update 的一种用法
declare @aa int set @aa = 1update EWC_HT_Contract set ContractCode = a.ContractCode + cast (@aa as nvarchar(10)),@aa = @aa +1 from  (select ContractCode from  ContractWHERE (MasterID = 1) ) as awhere MasterID = 2   SQL Server 2000 里面的通过记录修改另一条记录地方法,还可以修改序号。
667 0
|
图形学
Unity3D中Update()与FixedUpdate()的区别
Unity3D中Update()与FixedUpdate()的区别是什么呢?从字面上理解,它们都是在更新时会被调用,并且会循环的调用。但是Update会在每次渲染新的一帧时,被调用。而FixedUpdate会在每个固定的时间间隔被调用,那么要是Update 和FixedUpdate的时间间隔一样,是不是就一样呢?答案是不一定,因为Update受当前渲染的物体,更确切的说是三角形的数量影响,有时快有时慢,帧率会变化,update被调用的时间间隔就发生变化。
|
Java Android开发 Python
Cocos-2dx-Lua中使用Luaj的完整示例(转)
如何使用Luaj进行java与Lua之间的交互调用 一、主要分为两个大步骤,Lua工程的修改,android工程的修改 二、工程环境 开发工具:Cocos-Code-IDE Lua版本 : Lua 5.1 java版本:1.7 NDK版本:android-ndk-r10c ANT版本:apache-ant-1.9.4 Framwork:cocos-2dx-3.4 python : 2.7.3 三、Lua工程中的修改 1.在Cocos-Code-IDE中新建Lua工程 可以在这个工程目录中找到Luaj:  2.新建一个lua类,写上调用android的方法。
1862 0