Ich erstelle mein erstes Spiel in SpriteKit. Ich versuche, meine GameScene anzuhalten und dann einige Animationen über SpriteKit auszuführen. Das Problem war, dass wenn ich die Szene unter Verwendung self.view?.isPaused = true
pausiere alles stoppt. Nach der Suche habe ich herausgefunden, dass der Weg dahin besteht, der Szene einen weiteren Knoten hinzuzufügen und alles andere, was du pausieren willst, untergeordnete Knoten dieses Knotens zu machen. Ich versuche das zu tun, bin aber nicht erfolgreich gewesen. Dies ist der Code, dass ichSpritekit: Pausieren des übergeordneten Knotens unterbricht den untergeordneten Knoten nicht
var worldNode:SKNode?
override func didMove(to view: SKView) {
worldNode = SKNode()
self.addChild(self.worldNode!)
let spriteNode:SKSpriteNode = SKSpriteNode(imageNamed: "red_ball")
spriteNode.size = CGSize(width: 40, height: 40)
spriteNode.physicsBody = SKPhysicsBody(circleOfRadius: 15)
spriteNode.physicsBody?.isDynamic = true
self.worldNode?.addChild(spriteNode)
spriteNode.physicsBody?.applyImpulse(CGVector(dx: 10, dy: 10))
self.worldNode?.isPaused = true
//self.view?.isPaused = true
}
haben, wenn ich das laufen sehe ich den Ball auf dem Bildschirm bewegt, die nicht nach meinem Verständnis geschehen sollte, da ich die worldNode
bin pausieren und die spriteNode
ist untergeordneten Knoten davon. Wenn ich die Szene mit self.view?.isPaused = true
pausiere, ist der Ball wie erwartet stationär. Fehle ich etwas? Wie kann ich Knoten zur hinzufügen und dann nur diese Knoten anhalten, indem Sie worldNode
pausieren. Vielen Dank !
nach diesem Posting erkennen ich, dass sogar Pausieren des Kind-Knoten direkt mit spriteNode.isPaused = true , pausiert es nicht, vielleicht können die Knoten mit den angewandten Impluses auf diese Weise nicht pausiert werden? Sieht so aus, als müsste ich eine Alternative finden, vielleicht stattdessen die UI-Animation, die auch dann weiterarbeitet, wenn die Szene pausiert ist. – comatose