我正在使用 LibGDX 和随附的 Box2D 包装器 LibGDX 制作游戏。具体来说,我的游戏是一个 2D 横向卷轴。
我的问题是我的播放器精灵。我需要玩家非常精确的移动,所以我决定设置它,当玩家按下箭头键时,它会调用playerBody.setLinearVelocity()
,然后当他们停止按键时,它将线速度重置为 0。
在我的游戏中,我有重力。为了确保玩家在左右移动时跌倒,我创建了以下方法run()
:
public void run(float x) {
playerBody.setLinearVelocity(x, playerBody.getLinearVelocity().y);
}
当我的播放器自由落体时,这可以正常工作。但是,当我的玩家对着任何静态物体(包括垂直墙壁)移动时,只要我按住将它们粘在墙上的箭头键,它们就会停止下落。
有谁知道这可能是为什么?提前致谢。
另外,这是我对 playerBody 的摩擦、密度和恢复:
friction = 0.1f
restitution = 0.01f
density = 0.4f