2016-02-19 125 views
6

以下代碼將爲旋轉添加動畫。停止正在運行的SKAction - Sprite Kit

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

你j烏斯可以選擇使用:啓動something.runAction(action,withKey:"action1"),然後something.removeActionForKey("action1")

  1. something.paused = false // or true到節點
  2. something.removeAllActions()對決刪除相關的節點
  3. 名字你的行動行動上暫停行動,以除去給定的動作

如果需要,您也可以更改速度。

+0

第一個選項非常簡單和整齊,謝謝 –

2

首先,運行具有關鍵的作用,所以你以後就能認出它:

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

然後你就可以在以後停止它通過調用

something.removeActionForKey("rotate action") 

或者,你可以刪除所有動作也

something.removeAllActions()