【问题标题】:Cocos2d iPhone Chipmunk sync problemCocos2d iPhone Chipmunk 同步问题
【发布时间】:2011-03-19 22:52:02
【问题描述】:

在我的 cocos2d-iphone 项目中,我使用 Chipmunk 来提供物理模型。此外,我正在为 Chipmunk 使用 SpaceManager obj-c 包装器。

我给 Chipmunk 一个 constantDt 时间步长。

现在,我遇到的问题是物理模拟与游戏循环不同步。这意味着游戏的时间会因 FPS 的不同而不同(更具体地说,它们会因我是在模拟器、设备还是更新的设备中运行它而有所不同)。

这会对游戏玩法造成灾难性影响。例如,如果 FPS 由于某种原因变慢,物理模拟会爬行并且对象移动得更慢。这使得关卡设计几乎不可能!

请帮忙!

【问题讨论】:

    标签: iphone cocos2d-iphone chipmunk


    【解决方案1】:

    您可以尝试在游戏中使用两个循环。使用 NSTimer 刺激 Chipmunk 和 CADisplayLink 仅用于绘图。在每次重绘时,向您的物理模型询问对象的当前位置。

    【讨论】:

      【解决方案2】:

      所以,我通过使用 Spacemanager 的前沿版本(来自源代码)解决了这个问题。它有一个改进的阶跃函数(只要你使用一个 constantDt),它可以“累加”自上次重新计算以来可能累积的任何额外时间,并加以说明。

      感谢 MobileBros!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-16
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多