[英]Determine if a body has collided - Cocos2d/Box2D
是否可以確定b2body是否已與來自不同層的另一個b2body發生碰撞? 另外,我該怎么做?
例如
我在主游戲場景層上有一個球,該球在第一層的炸彈中射擊。 他們相撞,炸彈消失了。
請讓我知道是否需要更清楚
謝謝!
如果要使身體碰撞,它們必須屬於同一個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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.