有人可以解释一下使用 box2d for android 进行碰撞检测的方式。我无法理解 BBContactListener 的工作方式。
BBContactListener listener = new BBContactListener();
world = new BBWorld(gravity, doSleep);
world.SetContactListener(listener);
如何使用那个监听器?我应该扩展标准来创建自己的标准还是如何创建?
最佳答案
我没有为 android 使用 box2d,但我认为那里的想法是一样的。您必须实现联系人处理方法。这就是在 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/