gpt4 book ai didi

java - Box2d 传感器不检测接触

转载 作者:行者123 更新时间:2023-12-02 02:34:11 25 4
gpt4 key购买 nike

我的问题:

当我制作固定传感器时,武器主体停止检测接触。

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com