[原创]SpriteKit+Swift学习笔记(七)-简述碰撞检测

碰撞检测设置步骤:
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,监听这类碰撞消息。

    原文作者:敲键盘的猫
    原文地址: https://segmentfault.com/a/1190000002394575
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞