碰撞检测设置步骤:
1.添加场景代理SKPhysicsContactDelegate
2.设置self.physicsWorld.contactDelegate = self
3.设置接触抛事件ground.physicsBody?.contactTestBitMask = horseCategory
spritekit的碰撞检测,是通过设定这三个值来实现的
ground.physicsBody?.categoryBitMask = landCategory
ground.physicsBody?.contactTestBitMask = birdCategory
ground.physicsBody?.collisionBitMask = birdCategory
文档中的解释分别是:
1.一个标记,定义了这个物体所属分类
2.一个标记,定义了哪种物体接触到该物体,该物体会收到通知(谁撞我我会收到通知)
3.一个标记,定义了哪种物体会碰撞到自己
第二种是用来抛出接触消息的,第三种是用来检测碰撞的。碰撞检测,默认所有物体之间互相可碰撞。接触消息,默认所有物体接触都不产生消息,这样是为了保证效率。当你对某种接触感兴趣时,单独设置contactCategory,监听这类碰撞消息。