Box2D碰撞检测?

时间:2011-10-18 02:21:01

标签: ios cocos2d-iphone box2d

我正在向我的CCScene添加b2BodyDef,如下所示:

    b2BodyDef platformBodyDef;
    platformBodyDef.type = b2_dynamicBody;
    platformBodyDef.position.Set(40, 495);
    platformBodyDef.userData = platforms;
    _body = _world->CreateBody(&platformBodyDef);

我知道我应该使用联系人监听器,但我是Box2D的新手,这对我来说就像是另一种语言,所以如何对其进行编码以查看我的CCScene中的一个CCSprit是否与此b2BodyDef发生冲突?这个b2BodyDef将会动画,但我现在并不担心。 有谁知道我怎么能这样做?

谢谢!

1 个答案:

答案 0 :(得分:1)

有一个很好的教程描述了如何执行此操作here

基本上你要做的是创建一个contactListener来监听实体之间的碰撞。确保标记了精灵,然后在联系人监听器中加载碰撞的两个对象的spriteData。通过检查标签,您可以识别碰撞的精灵。

从那里你可以做很多事情,因为你有对精灵,身体和世界的参考。例如,如上述示例中所示,移除砖块。