Ich habe den folgenden Code, um eine SKSpriteNode
verschieben.Pause ein SKAction in Spritekit mit Swift
let moveDown = SKAction.moveBy(CGVectorMake(0, -120), duration: 1)
let moveUp = SKAction.moveBy(CGVectorMake(0, +120), duration: 1)
let moveSequence = SKAction.sequence([moveDown, moveUp])
square.runAction(SKAction.repeatActionForever(moveSequence))
Dies bewegt die SKSpriteNode
für immer auf und ab. Gibt es eine Möglichkeit, dass ich diese SKAction
pausieren könnte? Damit der SKSpriteNode
in seiner aktuellen Position einfriert, und später, wenn ich mich entscheide, setze seine Bewegung fort?
Ich möchte nur die Bewegung dieser SKSpriteNode
pausieren. Ich möchte die SKScene
nicht pausieren. Nur die Bewegung dieses 1 SKSpriteNode
Dank Wirbelwind! Funktioniert perfekt. Wenn ich eine Gruppe von SKSpriteNodes habe, sagen wir 5 davon. Was ist der beste Weg, die Eigenschaft "Geschwindigkeit" der Aktion zu verwenden, um sie alle zu stoppen? Ich habe versucht, den Schlüssel "Verschieben" auf alle von ihnen, aber es nur einen der SKSpriteNodes :) – Questions
@Questions Zuerst alle quadratischen Knoten (z. B. Square.name = "Quadrat"), dann [EnumerateChildNodesWithName] (http : //stackoverflow.com/q/24213436/3402095) Methode, um auf jedes Quadrat mit seinem Namen zuzugreifen und seine Aktion zu ändern, die mit dem Schlüssel "moving" verbunden ist. – Whirlwind