2016-02-19 26 views
6

次のコードは、回転をアニメーション化します。実行中のSKAction - スプライトキットの停止

let something:SKSpriteNode = SKSpriteNode() 

func start(){ 
    let rotateAction = SKAction.rotateToAngle(CGFloat(M_PI), duration: 10.0) 
    something.runAction(SKAction.sequence([rotateAction])) 
} 

アニメーションの再生時間内にアニメーションを停止します。次のようなものはありますか?ユーザーが画面に触れたときにアニメーションを停止したいあなたが後でそれを識別できるように

func stop(){ 
    something.SKAction.stop() 
} 

答えて

10

You j USTは、いずれかを使用する必要があります:指定したアクションを削除する

  1. something.paused = false // or trueは間違いノード
  2. 名前あなたの行動をする関連付けられたアクションを削除する
  3. something.removeAllActions()ノード上でアクションを一時停止し、その後something.runAction(action,withKey:"action1")something.removeActionForKey("action1")の起動時

必要に応じて速度を変更することもできます。

+0

最初のオプションは本当にシンプルできれいです、ありがとう –

2

まず、キーとアクションを実行します。

something.runAction(rotateAction, withKey: "rotate action") 

は、その後、あなたがそれを後から停止することができます

something.removeActionForKey("rotate action") 

代わりに呼び出すことによって、あなたはすべて削除することができます行動も

something.removeAllActions() 
関連する問題