我的问题:
当我制作固定传感器时,武器主体停止检测接触。
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(true))时,一切都变得很好并且发生接触并进行检测。
文档说:
/** 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;
}
}
关于java - Box2d 传感器不检测接触,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46648938/