libgdx不同的力量对身体有相同的影响

时间:2017-06-28 16:19:07

标签: java android libgdx box2d

当我向玩家body.applyForceToCenter(new Vector2(dir.x*500000*999999, dir.y*500000*999999), true);施加此力时,我的效果几乎与我body.applyForceToCenter(new Vector2(dir.x, dir.y), true);时的效果相同。这行代码是在玩家应该朝着dir的特定方向移动Vector2时调用的方法。我尝试多次使用applyForce()applyLinearImpulse()调用该方法。

1 个答案:

答案 0 :(得分:1)

Box2D确实有一个速度上限,每个时间步长为2个单位。 假设60 FPS,这意味着最大速度为120 m / s。

如果我们假设dir已归一化,那么最终会达到500000*999999=499999500000 m / s ^ 2的加速度 - 这有点大并且很快达到极限。

这意味着在一秒钟内速度将增加499999500000 m / s,远高于120.

正如@dfour所说,使用较小的物体和值 - 当物体的大小在0.1到10米之间时,Box2D可以最佳地工作。