【发布时间】:2013-12-01 21:55:27
【问题描述】:
以cocos2D为例:
- (void)update:(ccTime)delta
谁能解释这些时间增量或时间戳的用途?它们与游戏世界的更新方式有什么关系?是不是因为我们不可靠地了解 fps,不应该仅仅依赖基于 -update 调用的增量属性更新?
【问题讨论】:
-
在 FPS 上阅读@LearnCocos2d 的答案...stackoverflow.com/questions/13830185/…。基本上,您将获得(在 cocos2d 中)在屏幕刷新周期之后调用的所有更新方法。根据您在这些更新方法中所做的任何事情(即所花费的时间),您的代码可能会极大地影响 FPS,但主要是每次调用的毫秒数。因此,下次您被呼叫时,了解自上次呼叫以来的增量可能很重要,以防您试图以可感知的方式模拟真实的时间基准(跳过帧,移动更多作为士兵速度的函数)。跨度>
-
好的,所以 delta 的目的是您的动画不依赖于 FPS,而是依赖于时间?
-
正确。即使您设置了 fps ,它也只是一个模糊的承诺,而不是承诺。因此,您可以以 0.0167 秒的一帧结束(以 60fps 的速度),下一帧为 0.033 秒。如果您想避免不稳定的移动,时间很重要。
标签: ios opengl-es cocos2d-iphone game-engine runloop