Box2d:动态体完全不与运动体接触

时间:2014-11-10 17:42:40

标签: box2d collision-detection collision

我正在建立一个基于box2d的简单平台游戏。

玩家被制作为具有两个传感器(底部和顶部)的ChainShape动态多边形对象。

地板物体是一个简单的运动箱。

问题在于,由于某种原因,玩家的身体永远不会完全摔倒在地板上 - 它们之间总是有几个像素,使得玩家精灵看起来像是在地板上方飞行而不是站在地板上。

这是一些放大的截图:1)玩家跳跃(身体看起来很好): player jumping (body looks fine)

2)玩家站在地板上(玩家身体底部出现一些东西,防止它与地板接触): enter image description here

运动体正确接触地板。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我在这里找到了答案http://www.iforce2d.net/b2dtut/gotchas#smallgap

我每箱2个单位有250像素,所以其中的0.005个等于1.25像素。除此之外,似乎这个linearSlope来自两个灯具,最终导致2-3像素间隙。

在改变世界之后(我必须将250像素增加到5个单位,增加重力5倍并增加所有水平速度也是5倍以获得相同的游戏感觉)问题似乎得到解决。