我正在尝试用libgdx和Box2D制作游戏。 我在找到“好”或正确的物理设置方面遇到了一些问题。
要么物理似乎非常慢(特别是重力),要么在向物体施加力时需要使用极值,即使这样它也没有什么效果。
这是我当前的世界和步骤设置:
static final float BOX_STEP=1/60f;
//World world = new World(new Vector2(0, -9.81f), true); // With the settings my objects seem to be under water and react very slow
World world = new World(new Vector2(0, -200f), true); //<-- current settings
播放器 - 对象设置:
...
_fixtureDef = new FixtureDef();
_fixtureDef.shape = _shape;
_fixtureDef.density = 2.5f;
_fixtureDef.friction = 1.0f;
_fixtureDef.restitution = 0;
...
对玩家施加力量以跳跃
@Override
public boolean keyDown(int keycode)
{
if ((keycode == Keys.UP) && (!_pp.isJumping()))
{
_pp.getBody().applyForceToCenter(new Vector2(0, 999000000), true);
// Even with this high value the player barely jumps
_pp.setJumping(true);
}
return false;
}
关于如何正确设置物理设置的任何建议都非常感谢:)。