Box2D每个身体接触听众?

时间:2015-02-09 00:57:14

标签: java box2d collision

我希望我能清楚地知道我想用Box2D为我的游戏做些什么。我有其他实体MotherCellEntity s)将碰撞的主要实体(VirusEntity)。我想要的是当VirusEntityMotherCellEntity联系时,我将布尔movementAllowed设置为false,并从那里再次移动,并且Box2D我不知道如何实现这一目标。

我尝试使用ContactListener,但我只能通过World对象设置一个,这限制了我。我已经使用Filter来防止VirusEntity与该类的另一个实例发生冲突。

一些代码:

// Only one instance of ContactListener is allowed for the world.
world.setContactListener(new ContactAdapter() { // ContactAdapter is a personal class.
    @Override
    public void beginContact(Contact contact) {
        Body bodyA = contact.getFixtureA().getBody();
        Body bodyB = contact.getFixtureB().getBody();
        if (bodyA == mother.getBody() || bodyB == mother.getBody()) movementAllowed = false;
    }
});

可能有些东西可以告诉我,但我想不出搜索条件。如果您可以为我提供这样做的方式,或者将我链接到其他资源,我将不胜感激。

---- 修改 ----

什么是好的基本上是检查任何Contact的方法。

// One of these examples exist somewhere?
<instanceof Body>.getContactList();
<instanceof Fixture>.getContactList();

0 个答案:

没有答案