Box2D |禁用动态物体碰撞,同时仍然触发ContactListener碰撞

问题描述:

我有动态物体,当他们碰撞玩家时,我想使用ContactListener触发事件。问题是我不希望玩家(FYI,玩家也是动态的)或动态物体实际上通过物理互相影响(例如在碰撞时互相推送)。我希望他们简单地通过对方。这可能吗?我尝试使用过滤器,但将它们设置为不同的过滤器在碰撞时不会触发contactListener。谢谢!Box2D |禁用动态物体碰撞,同时仍然触发ContactListener碰撞

+0

我还没有使用Box2D,但它看起来像你可能需要传感器。 – EvilTak

+0

你能否删除[你的最后一个问题](http://stackoverflow.com/questions/39009447/box2d-make-kinematic-effected-by-collision),因为你问这个问题? –

+0

@JonnyHenly这是不一样的,是吗? – EvilTak

您必须在FixtureDef中设置“isSensor = true”,例如:

FixtureDef fdef; 
fdef.isSensor = true;