Box2d 传感器不检测接触

Box2d sensors don't detect contacts

我的问题:

武器 body 当我制作它的夹具传感器时停止检测接触。

ContactListener 代码:

void preSolve(contact: Contact, oldManifold:Manifold){

        switch (fixA.getFilterData().categoryBits | fixB.getFilterData().categoryBits) {
            case Game.WEAPON_BIT | Game.ENEMY_BIT: bodyDeleteList.add(contact.getFixtureA().getBody());
            System.out.println("Contact!");  // this never prints
            break;
        }
}

当我使 body 固定装置成为常态(评论 fixtureDef.setFixtute(真))时,一切都会变得很好,并且会发生接触和检测。

文档说:

/** A sensor shape collects contact information but never generates a collision response. */

但事实并非如此。所以也许我忘记了什么。

通过将此代码添加到 beginContact(..) 方法来解决它。

很奇怪,传感器只在beginContact(..)方法中收集联系信息

void beginContact(contact: Contact){

     switch (fixA.getFilterData().categoryBits | fixB.getFilterData().categoryBits) {
            case Game.WEAPON_BIT | Game.ENEMY_BIT: bodyDeleteList.add(contact.getFixtureA().getBody());
            System.out.println("Contact!");  // this prints
            break;
     }
}