【问题标题】:Trying to remove my restart button once it is game over游戏结束后尝试删除我的重启按钮
【发布时间】:2016-12-07 01:28:18
【问题描述】:

一旦玩家失去 5 条生命并且我创建了 GAMEOVER,我正试图摆脱重新启动按钮。这段代码不是为我做的,谁能帮我理解为什么?

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)

【问题讨论】:

    标签: swift sprite-kit enumerate


    【解决方案1】:

    而不是self.removeAllActions() 使用

    node.removeFromParent()
    

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

    【讨论】:

    • 我现在试试。谢谢大家!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2018-07-20
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多