有人可以解释使用box2d为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’