精灵套件中的接触检测



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

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

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

是的

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

请记住,SpriteKit (SK) 碰撞默认处于打开状态,因此除非您采取适当的步骤,否则两个形状将发生碰撞,SK 的物理引擎会将它们分开,直到它们不再碰撞,因此您可能不会看到它们重叠,这可能会在联系人注册之前发生(当我通过将三个精灵放在彼此之上来测试这一点时, 联系人没有错过,但可能是可能的)。

最新更新