func pause() {
pausedSpeed = self.speed
self.speed = 0
backgroundMusicPlayer.pause()
worldNode.alpha = 0.7
resumeButton = SKShapeNode(rectOfSize: CGSize(width: 100, height: 50))
resumeButton.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2 - 50)
resumeButton.physicsBody = SKPhysicsBody(rectangleOfSize: CGSize(width: 100, height: 50))
resumeButton.name = resumeButtonName
pauseLabel = SKLabelNode(text: "PAUSED")
pauseLabel.fontSize = 100
pauseLabel.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2 + 100)
pauseLabel.fontColor = UIColor.blackColor()
worldNode.addChild(resumeButton)
worldNode.addChild(pauseLabel)
}
即使我认为我将self.speed设置为0,节点仍然继续移动。有什么想法可能会发生这种情况吗?
答案 0 :(得分:0)
请勿更改节点的速度。只需更改node.paused = true
在您的情况下,您应该在一个SKNode
上定义所有控制按钮,并在另一个SKNode
上声明所有游戏元素。在这种情况下,如果您想暂停游戏,只需暂停第二次SKNode
。