我最近一直在研究box2d(在带有libgdx的java中),并一直在尝试创建我自己的自定义反弹效果(我在第一次反弹后增加了Restitution
)
为了进行测试,我只是检查了对象的位置并等待第一次反弹。
但现在我想实际实现这个并遇到一个问题:如何检测 box2d 中 2 个特定对象的碰撞?
我找到了这个教程:
box2d collision detection - 但我非常不愿意使用该代码。必须有一种更简单、更清晰的方法来检测两个对象之间的碰撞(无需设置用户数据并使用巨大的 if()
条件检查所有碰撞...)
谁能帮帮我吗? (假设我不仅充满希望而且实际上有更好的方法)
最佳答案
子类b2ContactListener
类来处理碰撞并重新实现碰撞回调。然后只需:
MyContactListener *listener = new MyContactListener();
myB2World->SetContactListener(listener);
关于java - 用 box2d 检测物体碰撞的干净方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7447811/