【问题标题】:Contact detection in sprite kit精灵套件中的接触检测
【发布时间】:2017-01-09 02:27:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: swift sprite-kit


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的帮助 :) 我找到了另一种使用“相交”的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多