2016-02-19 17 views
6

Aşağıdaki kod bir dönüşü canlandıracaktır.Çalışan bir SKAction - Sprite Kitinin Durdurulması

let something:SKSpriteNode = SKSpriteNode() 

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

Artık animasyonu animasyon süresi içinde durdurmak istiyorum. Aşağıdakilere benzer bir şey var mı? Kullanıcı ekrana dokunduğunda animasyonu durdurmak istiyorum. daha sonra tespit böylece

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

cevap

10

You j ust ya da kullanmak zorunda: Belirli bir işlemin kaldırılması için

  1. something.paused = false // or true kesinlikle düğüm
  2. adı işleminizi ilişkili eylemler kaldırmak için
  3. something.removeAllActions() düğümde eylemleri durdurmak için daha sonra something.runAction(action,withKey:"action1") ve something.removeActionForKey("action1") başlatırken

Gerektiğinde hızı da değiştirebilirsiniz.

+0

İlk seçenek gerçekten basit ve temiz, teşekkürler –

2

Öncelikle, bir anahtarla eylemi çalıştırın:

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

O zaman daha sonra durdurabilirsiniz

something.removeActionForKey("rotate action") 

Alternatif arayarak, tüm kaldırabilirsiniz eylemler ayrıca

something.removeAllActions()