Andengine如何在运行时更新正文的掩码位

时间:2014-02-03 13:10:15

标签: android box2d andengine game-physics physics-engine

嗨,我正在开发一款汽车游戏。在其中我有一个玩家的车和一个敌人的车。我想做的是,在某个特定时间,玩家的车不应该与敌人的车碰撞。为此,我想在运行时更新玩家汽车的maskbit。我已经制作了自定义精灵类,并使用这行代码

mPhysicsWr.getPhysicsConnectorManager()
          .findBodyByShape(this)
          .getFixtureList()
          .get(0)
          .getFilterData()
          .maskBits=0;

但它仍然没有更新这个精灵的主体的maskbit。 任何的想法..? 谢谢。

1 个答案:

答案 0 :(得分:1)

您将需要使用以下方式再次分配过滤器数据:

Filter filter = new Filter();
filter.maskBits = yourMaskBits;         mPhysicsWr.getPhysicsConnectorManager().findBodyByShape(this).getFixtureList().get(0).setFilterData(filter);

对于Box2D中的每个Get方法,都有一个相应的Set方法。在API中直接设置属性非常不寻常。大多数时候你会使用getter和setter。