游戏循环更新方法中使用的时间增量或时间戳是多少?

时间:2013-12-01 21:55:27

标签: ios opengl-es cocos2d-iphone game-engine runloop

例如在cocos2D中:

- (void)update:(ccTime)delta

有人可以解释这些时间增量或时间戳的用途吗?它们如何与游戏世界的更新相关?是因为我们不能可靠地知道fps而不应该只依赖于基于-update调用的增量属性更新吗?

1 个答案:

答案 0 :(得分:5)

使帧独立移动非常重要。通常,您考虑自上次更新呼叫以来的时间内的任何角色移动。

这是为了确保您的游戏在各种性能的设备上表现相同。如果每帧移动一个字符1个像素,那么在运行速度为60fps的设备上,该字符的移动速度将是获得30fps的设备的两倍。

通过影响所有移动代码,例如通过增量时间,您可以确保所有设备的行为都相同。

使移动帧速率独立是很简单的。将运动矢量乘以deltaTime之类的东西将实现这一目标。