我将b2BodyDef添加到CCScene中,如下所示:

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


我知道我应该使用联系侦听器,但是我对Box2D还是陌生的,这对我来说就像是另一种语言,因此如何编码以查看CCScene中的一个CCSprite是否与此b2BodyDef冲突?这个b2BodyDef将制作动画,但我现在不担心。
有人知道我该怎么做吗?

谢谢!

最佳答案

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

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

从那里您可以执行几乎所有操作,因为您可以引用精灵,身体和世界。例如,如在前述示例中那样,移除砖。

关于ios - Box2D碰撞检测?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7801759/

10-09 17:33