The following code will animate a rotation.
let something:SKSpriteNode = SKSpriteNode()
func start(){
let rotateAction = SKAction.rotateToAngle(CGFloat(M_PI), duration: 10.0)
something.runAction(SKAction.sequence([rotateAction]))
}
Now I want to stop the animation within the animating duration. Is there anything similar to the following? I want to stop the animation when the user touches the screen.
func stop(){
something.SKAction.stop()
}
You just have to use either:
something.paused = false // or true
to pause actions on the nodesomething.removeAllActions()
to definitely remove actions associated to the nodesomething.runAction(action,withKey:"action1")
and thensomething.removeActionForKey("action1")
to remove a given actionYou may also change the speed if needed.
Firstly, run the action with a key so you can identify it later:
Then you can stop it later by calling
Alternatively, you can remove all actions also