android - 不同设备上不同的 Box2D 主体速度

标签 android libgdx box2d android-hardware

我的问题记录在:Video

背景速度和动画以相同的速度运行,而那个黑人抛出的元素在白色设备上移动得更慢......嗯,是的,白色手机更旧,但我认为这不是问题,因为我已经在硬件几乎与黑色手机相同的手机上测试了我的应用程序,并且它有同样的问题。谁能帮我理解为什么会这样……?

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

谢谢!

最佳答案

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;
}

关于android - 不同设备上不同的 Box2D 主体速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149938/

相关文章:

java.lang.IllegalStateException : Only fullscreen opaque activities can request orientation 错误

android - 将图片添加到图库 - Android

Android:在 Android M 中完全禁用 deviceidle ("Doze")?

java - libGDX:3d 动画不工作

android - 无法实现正确的相机和视口(viewport)

android - 我的 box2d body 下降太慢了

php - android使用谷歌c2dm一次向许多设备推送通知

android - 使用 LibGDX 制作静态动画的有效方法?

c++ - Body 对象在 Box2d 中直线抛出

c++ - Android ndk-r5 调用 std::functions