1

我最近一直在研究 box2d(在 java 中使用 libgdx)并且一直在尝试创建我自己的自定义反弹效果(我Restitution在第一次反弹后增加了)

为此,我只是简单地检查了对象的位置并等待第一次反弹。

但是现在我想实际实现它并遇到了一个问题:如何检测 box2d 中 2 个特定对象的碰撞?

我找到了本教程: box2d 碰撞检测- 但我非常不愿意使用该代码。必须有一种更简单、更干净的方法来检测 2 个对象之间的碰撞(无需设置用户数据并检查所有具有巨大if()条件的碰撞......)

谁能帮我吗?(假设我不仅充满希望而且实际上有更好的方法)

4

2 回答 2

2

b2ContactListener处理碰撞和重新实现碰撞回调的子类。然后只是:

MyContactListener *listener = new MyContactListener();
myB2World->SetContactListener(listener);
于 2011-09-16T17:03:31.593 回答
0

请注意,有些解决方案并不像往常一样有捷径,但您可以找到正确的解决方案,并且可能有一百种方法来检测碰撞,您知道的,不是吗?这就像在 box2d 碰撞检测程序的解决方案中一样。

http://blog.allanbishop.com/box2d-2-1a-tutorial-%E2%80%93-part-4-collision-detection/

于 2012-11-13T08:28:41.147 回答