2014-10-01 59 views
3

我的问题是记录在这个:Video不同的Box2D的身体加快在不同的设备

背景的速度和动画都以相同的速度运行时的项目,谁是那个黑家伙扔,移动较慢的白色设备上。 ..好的,白色手机比较老,但这不是问题,我认为,因为我在手机上测试了我的应用程序,它的硬件与黑色手机的硬件几乎相同,并且它有相同的问题。任何人都可以帮我理解为什么会发生这种情况......?

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

谢谢!

+0

Libgdx作品像素和Box2D的与米作为距离。如果您可以提供您在米和像素之间转换的任何代码,那就非常好。将Box2D的机体转换为2D世界时,可能会出现错误。 – 2014-10-02 09:10:52

回答

2

Libgdx总是运行速度最快的设备可以处理(除了在其中你可以限制到每秒60次的桌面)。

硬件并不总是与众不同。 Android设备具有每秒帧数的上限,例如我的Galaxy Ace的FPS上限为90.有些甚至更新,更强大的设备可能有60甚至50个。因此,您的应用在银河王牌中的更新速度要快于任何那些其他设备。

您可以使用此技术来自己更糟的是:

有这个两fields.-

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

而在渲染method.-

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