Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的游戏重力框架独立吗?_Android_Libgdx - Fatal编程技术网

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,但是现在这个角色一点都没有掉下来!