【问题标题】:Removing SKNodes in SpriteKit(Swift3)在 SpriteKit(Swift3) 中删除 SKNodes
【发布时间】:2017-03-27 21:58:38
【问题描述】:

我正在制作一款类似于 Flappy Bird 的游戏。当我的英雄与屏幕上随机生成的一些硬币发生碰撞时,我希望将这些硬币从屏幕上移除。我已经尝试了一堆我读过的不同的东西,但到目前为止没有任何效果。我知道“coins.removeFromParent()”可能是要走的路。它可能应该放在“didBegin(_联系人:SKPhysicsContact {”,但从这里我还没有解决问题。

  • 我需要下图中的两个代码还是可以将两者合二为一?这可能是问题吗?

【问题讨论】:

  • 有谁知道如何解决这个问题?

标签: sknode


【解决方案1】:

你是对的,它需要放在“didBegin(_contact:SKPhysicsContact {”中,.removeFromParent() 也是对的。缺少的元素是你需要首先在 didBegin 函数中使用contact变量来确定要删除的节点。

我想你想要的代码是这样的。 (这需要在您的 didBegin 函数中。)

if contact.bodyA.categoryBitMask == ColliderType.coins.rawValue {

        print("body A is the coin")

        contact.bodyA.node!.removeFromParent()

      } else if contact.bodyB.categoryBitMask == ColliderType.coins.rawValue {

        print("body B is the coin")

        contact.bodyB.node!.removeFromParent()

      }

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多