繁体   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