在我的cocos2d-iphone项目中,我使用Chipmunk提供物理模型。另外,我正在使用SpaceManager obj-c for Chipmunk包装器。
我给予花栗鼠一个恒定的时间步长。
现在,我遇到的问题是物理模拟与游戏循环不同步。这意味着游戏时间的不同取决于FPS(更具体地说,它们的不同取决于我是在模拟器,设备还是新设备中运行它。)
这对游戏玩法造成了灾难性的影响。例如,如果FPS由于某种原因而减速,则物理模拟爬行和对象移动的速度要慢得多。这使得关卡设计几乎不可能!
请帮忙!
答案 0 :(得分:0)
您可以尝试在游戏中使用两个循环。使用 NSTimer 来刺激Chipmunk和 CADisplayLink 仅用于绘图。在每次重绘时,请询问物理模型中物体的当前位置。
答案 1 :(得分:0)
所以,我通过使用Spacemanager的最新版本(来自源代码)修复了这个问题。它有一个改进的步长函数(只要你使用一个constantDt),它“累加”自上次重新计算以来可能累积的任何额外时间,并对其进行说明。
感谢MobileBros!