我将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/