2014-10-01 8 views
0

각 화면이 별도의 swf로로드되는 게임을 만들고 있습니다. Greensock의 LoaderMax를 사용하여 swf를로드하고 있지만 문제의 원인이라고 생각하지 않습니다. swf에서로드 한 후에 String 및 MovieClip과 같은 하위 SWF의 속성을 설정할 수 있습니다. 그러나 라이브러리 경로에는 제 3 자 라이브러리가 있는데 두 프로젝트 모두에서 동일한 정확한 swc입니다. 그러나 비 시스템 변수를 전달하려고하면 기본적으로 "강제 변환 실패 : ThisType을 ThisType으로 변환 할 수 없습니다"라는 오류가 발생합니다. 만약 그들이 같은 데이터 타입이라면, 왜 컴파일러가 그들을 강요하려고합니까? 나는As3 Flash - 제 3 자 데이터 유형을 Swf에 전달하는 강제 실패 오류

... 오류를 여기에 뭔가 빠진해야합니다

여기
TypeError: Error #1034: Type Coercion failed: cannot convert package::[email protected] to package.ThisType. 

at mJackStateMachine/onAskForClient() 

at flash.events::EventDispatcher/dispatchEventFunction() 

at flash.events::EventDispatcher/dispatchEvent() 

은 (간체) 완료 핸들러입니다. ThisType 유형의 This_TypeVar 유형을 SWF간에 전달하려고하면 중단됩니다.

function CompleteHandler(e:LoaderEvent) { 

childSwf = LoaderMax.getContent("LoginStateSwf").rawContent; 

stage.addChild(childSwf); 

childSwf.start(_thisTypeVar) 

} 

도와주세요! swfs간에 제 3 자 라이브러리의 vars를 전달하는 방법. 나는 이것을 할 수 있어야한다, 그렇지?

+0

내가 무슨 일이 될 수 있습니다하는로드 (보조) SWF는 ThisType 객체 유형이 무엇인지 알 수 없다는 것입니다 생각합니다. 의미는 주 SWF에 알려진 유형이지만로드 된 (보조) SWF는 유형을 알지 못합니다. ThisType은 무엇을 확장합니까? _thisTypeVar이 무엇으로 설정되어 있는지, 일반적으로 ThisType이 무엇인지 확인하는 것이 도움이됩니다. –

+0

ThisType은 playerio.Client입니다. swf는이 클래스를 가져오고 빌드 경로에 동일한 playerio.swc를 갖습니다. –

+0

SWF를 어떻게 구축하고 있습니까? playerio.swc가 두 SWF에 모두 포함되는 경우 ThisType에 대한 두 가지 경쟁 정의가 있습니다. 자식 SWF에 SWC를 런타임 공유 라이브러리로 포함하면 문제가 해결 될 수 있습니다. – Brian

답변

0

이 하나를 시도

LoaderMax.defaultContext = new LoaderContext(true, new ApplicationDomain(ApplicationDomain.currentDomain), SecurityDomain.currentDomain); 
+0

나는 그것을 시도했다. 그것은 여전히 ​​같은 오류를줍니다. –