2017-04-20 1 views
3

withKey : "running"을 실행하는 SKAction이 있습니다. 키가있는 다른 작업도 있습니다. 내 경우에는 "running"키로 SKAction이 현재 실행 중인지 여부를 확인할 수 있다면 편리 할 것입니다. 같은키가있는 특정 SKAction이 실행 중인지 확인하는 방법

뭔가 :

mySpriteNode.hasActions 

같은 난 그냥 노드에 적용되는 일반적 행동이있는 경우 내가 볼 수 있다는 것을 발견 지금은

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

는, 누군가가 생각이 있습니까?

+0

, 실행중인 (노드를 일시 중지 할 수 있지만) Knight0fDragon @ – Knight0fDragon

+1

을 일시 중지 할 수있는 방법은 없습니다 노드 (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 
} 
관련 문제