AndEngine和box2d碰撞过滤

时间:2012-02-16 18:28:57

标签: android box2d andengine

我遇到2个物体(一个动态和一个静态)之间发生碰撞的问题。让我们说我有墙和球,我设置过滤器,允许球穿过墙壁。只要我在墙体外部创建精灵,它就能很好地工作。当我在与墙壁相同的位置创建球然后球被卡住或弹跳或做出奇怪的事情时,问题出现了。我相信如果有碰撞过滤器,我应该在哪里创建身体。有没有类似的问题?

2 个答案:

答案 0 :(得分:2)

现在已经很晚了,但是我使用遮蔽来解决类似的问题

http://www.aurelienribon.com/blog/2011/07/box2d-tutorial-collision-filtering/

欢呼声。

答案 1 :(得分:0)

我仍然不知道问题出现的原因,但我知道如果我创建了boxBody和circleBody,就会发生这种情况。我使用polygonBody而不是boxBody解决了这个问题。这是我的代码,它从多边形体创建框。

float a = this.getWidthScaled()*0.5f/32.0f;
float b = this.getHeightScaled()*0.5f/32.0f;
Vector2[] v = {new Vector2(-a,-b), 
               new Vector2(a,-b),
               new Vector2(a,b),
               new Vector2(-a,b)};
body = PhysicsFactory.createPolygonBody(pWorld, this, v, BodyType.DynamicBody, mFixtureDef);