2015-01-07 2 views
1

SpriteKit을 사용하여 신속하게 게임을 만들고 있습니다.SKAction 함수를 호출하고 인코딩 할 수 있습니까?

SKAction.runBlock(someFunction) 

내가 인코딩 NSCoder 내가

SKAction: Run block actions can not be properly encoded, 
Objective-C blocks do not support NSCoding. 

스위프트는 어떻게 선택 SKActions를 지원하지 않는 콘솔에 인쇄 된이 메시지가 사용하여 내 장면을 디코딩 : 내 일부 노드는 함수를 호출 runBlock 작업이 이 문제를 해결할 수 있습니까?

TL : 함수를 호출하고 인코딩 할 수있는 SKAction은 어떻게 만들 수 있습니까?

  • 이 작업을 수행하는 또 다른 유형의 SKAction이 있습니까?

  • 고객 SKAction 하위 클래스를 사용해야합니까?

은 어떤 도움이 많이

답변

2

당신은 할 수 없습니다 :) 감사하고, 실제 대안이 없다한다. 블록을 인코딩 할 수 없습니다.

가능한 조치는 블로킹 동작없이 코드 작업을 시도하는 것입니다.

+0

감사합니다. 나는'init (coder :) '에서 노드에 액션을 다시 추가 할 수 있었다고 생각합니다. – Okapi

0

SKAction performSelector 조금 지저분하지만 작업을 완료 할 수 있습니다.

주요 불만은 다음과 같습니다

  1. 이 선택에 인수를 전달; 및

  2. 을 대체한다. customActionWithDuration:runBlock.

이 두 가지 문제를 해결하기 위해, 나는 그것의 SKAction 대응과 함께 인코딩됩니다 경량 객체의 선택 호출을 래핑.

내 결과는 진행중인 작업입니다. StackOverflow 질문에 대한 작업을 문서화하고 있습니다. here (미안하다면 당신 것이 사용했을 것입니다!).

내 코드 (경량 래퍼 객체 구현)는 here입니다.

관련 문제