我制作的游戏与Flappy Bird类似。当我的英雄与屏幕上随机产生的一些硬币相撞时,我想要从屏幕上移除硬币。我已经尝试过一些我读过的不同的东西,但到目前为止还没有任何工作。我知道" coins.removeFromParent()"可能是要走的路。它应该放在" didBegin(_ contact:SKPhysicsContact {",但是从这里我还没有解决问题。
答案 0 :(得分:0)
你是对的,它需要放在" 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()
}