Body 撞墙时丢失了一个速度分量

Body lost a velocity component when hitting a wall

我正在使用 Box2D 创建 Breakout 游戏(LibGdx,如果有人感兴趣的话)。一切正常,直到球以非常小的角度移动时撞到墙上。详情请看图:

我尝试将壁面摩擦力设置为0,恢复力设置为1,以及球的摩擦力和恢复力,但它仍然沿壁移动(我没有世界重力,只给了球一个起始脉冲当它碰到桨时)。如果角度足够小,垂直墙也会发生这种情况,它会失去 X 速度。

我怎样才能按照预期的方式移动球?如果没有摩擦,是什么原因造成的?

尝试更改 libgdx 中的速度阈值。

void World.setVelocityThreshold(float threshold);
float World.getVelocityThreshold();

http://www.badlogicgames.com/wordpress/?p=2030