2017-04-20 2 views
3

withKey: "running"を実行しているSKActionがあります。 私はまた、キーで他のアクションを持っています。私の場合は、キー "実行中"でSKActionが現在実行中であるかどうかを確認できれば便利です。以下のようなキーを使用して特定のSKActionが実行されているかどうかを確認する方法

何か:

if (mySpriteNode.runsAction("running")) { 
    // do some magic code 
} 

は今、私はちょうどノードに適用される一般的なアクションがあるかどうか、私は見ることができることがわかったため、

mySpriteNode.hasActions 

のように誰かがアイデアを持っていますか?

+0

、それが実行されている(あなたがノードを一時停止することができますが)、それを一時停止する方法はありません – Knight0fDragon

+1

Knight0fDragon @ノード(action.speed = 0)を一時停止することなく、アクション(forKey :)メソッドを使用してキーに関連付けられたアクションを一時停止することができます。 – Whirlwind

+0

ああ、はい、オーディオアクションを再生すると混乱します。思い出させる – Knight0fDragon

答えて

5

このメソッドが見つかりました。それは何が必要かもしれません:アクションは、アクションオブジェクトが返され、それがキーと一致して存在する

func action(forKey key: String) -> SKAction? 

場合。それ以外の場合は、nilが返されます。

あなたがそうのようにそれを使用することができます。アクションはノードに割り当てられている場合

if let _ = mySpriteNode.action(forKey: "someKey") { 
    // action is running 
} else { 
    // action is not running 
} 
関連する問題