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;
}
}
我的问题:
武器 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;
}
}