Android 我的游戏重力框架独立吗?
这是我的游戏重力:Android 我的游戏重力框架独立吗?,android,libgdx,Android,Libgdx,这是我的游戏重力: 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.getDelt
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并显著增加。现在,无论是在台式机还是移动设备上,它都像一个魅力 重力也需要乘以delta时间。这会让你接近一场非竞争性的比赛。否则你需要通过插值读取固定的时间步长。重力不是已经被乘以速度中的δ时间了吗?scl(dt)?它需要乘以dt才能得到速度变化。然后速度需要乘以dt得到位置变化。想想公制中的单位。重力以米/秒的平方为单位。增量时间以秒为单位。将重力乘以增量时间,得到自上一帧以来每秒米数的变化。@Tenfour04 Hmm。。。看起来不错。我会试着整理代码,我会在这里发布它是如何工作的好吧,我把重力改成了重力*dt,但是现在这个角色一点都没有掉下来!