不同的Box2D机身速度在不同的设备上

时间:2014-10-01 20:23:38

标签: android libgdx box2d android-hardware

我的问题记录在此:Video

背景速度和动画以相同的速度运行而由黑人投掷的物品在白色设备上移动得更慢......好吧,白色手机比较老,但这不是问题,我想因为我已经在手机上测试了我的应用程序,其硬件和黑色手机的硬件几乎相同,并且它有同样的问题。任何人都可以帮助我理解为什么会发生这种情况......?

我的步骤 - world.step(1 / 60f,6,2);尺寸除以PPM为100。

谢谢!

1 个答案:

答案 0 :(得分:2)

Libgdx始终以设备可以处理的最快速度运行(桌面除外,您可以将其限制为每秒60次)。

硬件并不总是与众不同。 Android设备有每秒帧数上限,例如我的Galaxy Ace的FPS上限为90.而一些更新更强大的设备可能有60甚至50个。所以你的应用程序在我的Galaxy ace中的更新速度比任何那些其他设备。

您可以使用此技术自行封顶:

有这两个字段.-

public static final float FPSCAP = 1/60F;
private float accumulator = 0;

在你的渲染方法中.-

accumulator+=delta;
while(accumulator>FPSCAP){
   world.step(FPSCAP, 6, 2);
   accumulator-=FPSCAP;
}