簡體   English   中英

確定身體是否發生碰撞-Cocos2d / Box2D

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM