Ich habe es geschafft, eine Spielszene mit diesem Code zu pausieren:
override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!) {
var touch:UITouch = touches.anyObject() as UITouch
pauseText.text = "Weiter"
pauseText.fontSize = 50
pauseText.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2)
/* play/pause button */
var locationPause: CGPoint = touch.locationInNode(self)
if self.nodeAtPoint(locationPause) == self.pause {
println("Pause")
addChild(pauseText)
pause.removeFromParent()
paused = true
}
if self.nodeAtPoint(locationPause) == self.pauseText {
pauseText.removeFromParent()
paused = false
addChild(pause)
}
}
Aber ich habe ein Problem. In regelmäßigen Abständen erstellt das Spiel Objekte und zeigt sie auf dem Bildschirm an. Wenn ich das Spiel pausiere, werden weiterhin Objekte im Hintergrund erstellt, und wenn ich das Spiel fortsetze, erscheinen alle während der Pause erstellten Objekte gleichzeitig auf dem Bildschirm.
Wie kann ich das beheben?