【问题标题】:AndEngine and box2d collision filteringAndEngine 和 box2d 碰撞过滤
【发布时间】:2012-02-16 18:28:56
【问题描述】:

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

【问题讨论】:

    标签: android box2d andengine


    【解决方案1】:

    已经很晚了,但我使用遮罩解决了类似的问题

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

    干杯。

    【讨论】:

    • 虽然理论上这可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
    【解决方案2】:

    我仍然不知道为什么会出现问题,但我知道如果我创建 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多