是否有可能确定b2body是否与另一层中的另一个b2体发生碰撞?另外,我该怎么做?
E.G。
我的主要游戏场景图层上有一个球,在我的一级别的炸弹中被射击。他们相撞,炸弹消失了。
如果我需要更清楚,请告诉我
谢谢!
答案 0 :(得分:1)
如果你想要身体碰撞,他们必须属于同一个b2World。在什么层面绘制它们以及对物理学无关紧要。确定何时发生碰撞子类b2ContactListener
并实现回调函数:
class MyContactListener : public b2ContactListener
{
public:
MyContactListener() : b2ContactListener() {}
void BeginContact (b2Contact *contact);
void EndContact (b2Contact *contact);
void PreSolve (b2Contact *contact, const b2Manifold *oldManifold);
void PostSolve (b2Contact *contact, const b2ContactImpulse *impulse);
};
然后将此类的对象添加到您的b2World:
MyContactListener *listener = new MyContactListener();
world->SetContactListener(listener);