这是我的游戏重力:
if (position.y > 0 && isAlive) {
velocity.add(0, GRAVITY);
}
velocity.scl(dt);
if(isAlive) {
position.add(MOVEMENT * dt, velocity.y);
velocity.scl(1 / dt);
}
这里,dt 由 Gdx.graphics.getDeltaTime(( 提供。代码看起来不错,在桌面上工作正常,但在我的手机上,跳跃和重力更慢、更长(即使它看起来以 60fps 的速度运行(。我错过了什么吗?重力是我设置的最后一个变量。
问题如下:重力需要乘以dt并显着增加。现在,它在台式机和移动设备上都像魅力一样工作!