【发布时间】:2015-04-23 09:47:23
【问题描述】:
我正在使用 Box2D(如果有人感兴趣,可以使用 LibGdx)创建一个 Breakout 游戏。一切都很好,直到球以很小的角度移动时撞到墙上。详情请看图:
我尝试将墙壁摩擦力设置为 0 并将恢复力设置为 1,以及小球的摩擦力和恢复力,但它仍然沿着墙壁移动(我没有世界重力,只有在它击中桨)。如果角度足够小,垂直壁也会发生这种情况,它会失去X速度。
如何按照预期的方式移动球?如果没有摩擦,是什么原因造成的?
【问题讨论】:
-
如果你给我们看一些代码对我们来说会容易得多
-
检查过球是否卡在了墙上?
-
@Mekap 我目前无法访问代码,但基本上,我只是添加了 4 个静态体作为墙壁和球体动态体,并在撞击桨时应用 Impulse。没什么特别的。
-
@EvanKnowles 它只在角度足够小时才会发生,所以我认为不会。
-
听起来像是一个舍入/类型转换问题。您是否尝试过为所有物理变量使用浮点值?