我试图摆脱播放器损失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
的每次迭代,是对按钮的直接引用。