2014-07-16 5 views
4

누군가가이 문제를 해결할 수 있기를 바랍니다. removeActionWithKey 메서드에 대한 Sprite Kit 용 SKAction에 키를 할당하는 방법을 찾지 못하는 것 같습니다. 또한 사전에 키에 액션을 할당하려고 시도했지만 프로그램이 키 할당을 인식하지 못하여 아무 값도 반환하지 않았습니다. 여기 Swift에서 SKActions에 키를 할당하는 방법

내가 어떻게 뭘하려 :

var textureanimation = SKAction.repeatActionForever(SKAction.animateWithTextures(_walkingframes, timePerFrame: 0.1)) 
var dictionary = ["animation": textureanimation] 
    object.runAction(actionForKey("animation")) 

    var sequence = [SKAction.moveTo(tap_position, duration: time_duration), 
     SKAction.runBlock{ 

      object.removeActionForKey("animation")} 

답변

11

당신이 당신이 이름으로 작업을 제거 할 수

sprite.runAction(myCoolAction, withKey: "Cool Action") 

runAction 방법에 그것을 할 수

sprite.removeActionForKey("Cool Action") 

경험상으로, 변수에 작업 문자열 이름을 배치하는 것이 좋습니다. 아주 약간 철자가 잘못된 행동 이름에서 이상한 버그를 줄입니다.

그래서 이것의 개선 된 버전은 클래스 VAR

let coolActionName = "Cool Action" 

// Your other code 

// Run the action 
sprite.runAction(myCoolAction, withKey: coolActionName) 

// Time to remove the action 
sprite.removeActionForKey(coolActionName) 
입니다