有人能解释一下使用box2d for android进行碰撞检测的方式。我无法理解以什么方式运作BBContactListener。
BBContactListener listener = new BBContactListener();
world = new BBWorld(gravity, doSleep);
world.SetContactListener(listener);
如何使用该侦听器?我应该扩展标准来创建我自己的或如何创建?
答案 0 :(得分:1)
我没有使用box2d for 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'