有人可以解释一下使用 box2d for android 进行碰撞检测的工作方式吗?我无法理解 BBContactListener 的工作方式。
BBContactListener listener = new BBContactListener();
world = new BBWorld(gravity, doSleep);
world.SetContactListener(listener);
如何使用那个监听器?我应该扩展标准来创建我自己的还是如何创建的?
最佳答案
我没有将 box2d 用于 android,但我认为那里的想法是一样的。您必须实现联系人处理方法。这就是在 C++ 中做到这一点的方法。
class ContactListener : public b2ContactListener
{
public:
ContactListener();
~ContactListener();
void BeginContact(b2Contact *contact) {...}
void EndContact(b2Contact *contact) {...}
void PreSolve (b2Contact *contact, const b2Manifold *oldManifold) {...}
void PostSolve (b2Contact *contact, const b2ContactImpulse *impulse) {...}
};
然后将这个类传递给“b2World”
关于java - 使用 Box2d(适用于 Android)进行碰撞检测?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8951392/