游戏结束后,尝试删除我的重新启动按钮



我试图摆脱播放器损失5人的生命,而这是我创建的游戏。这个代码不是为我做的,有人可以帮助我理解为什么吗?

func loseALife(){
    if lives == 0 {
        enumerateChildNodes(withName: "Restart", using: ({
            (node, error) in
                self.removeAllActions()
        })
        runGameOver()
    }
}

这是重新启动按钮的功能

func createButton() {
    restartButton = SKSpriteNode(imageNamed: "restart")
    restartButton.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2)
    restartButton.zPosition = 6
    restartButton.setScale(0.5)
    restartButton.name = "Restart"
    self.addChild(restartButton)

而不是self.removeAllActions()使用

node.removeFromParent()

您使用的是self,在这种情况下,它指的是GamesScene和removeAllActions,它仅适用于当前运行操作的游戏元素。变量node来自enumerateChildNodes的每次迭代,是对按钮的直接引用。