精灵套件中的接触检测

时间:2017-01-09 02:27:49

标签: swift sprite-kit

我正在使用swift制作游戏。这些是一些基本规则:

  • 在屏幕上产生不同颜色的硬币
  • 如果触摸屏幕,您将创建一个红色圆形。如果那个形状接触(或重叠)一枚红色硬币,硬币就会消失。
  • 硬币和形状都没有移动(isDynamic = false,affectedByGravity = false)

我可以使用contactTestBitMask检查形状是否重叠硬币?如果没有,我该如何检查?

1 个答案:

答案 0 :(得分:0)

是 - 假设您的所有联系人检测都设置正确,当您创建一个新的红色圆圈精灵并将其放在屏幕上时,如果它与硬币重叠,则会调用didBegin(contact:)方法。

请记住默认情况下SpriteKit(SK)碰撞是打开的,所以除非你采取适当的步骤,否则两个形状会发生碰撞,SK的物理引擎会将它们分开,直到它们不再碰撞为止你可能看不到它们重叠,这可能发生在联系人注册之前(当我通过将三个精灵放在彼此之上进行测试时,联系人不会错过,但可能是可能的)。