As3 Flash - 强制失败错误将第三方数据类型Swf传递给Swf

时间:2014-10-01 14:14:09

标签: actionscript-3 flash swfloader coercion type-coercion

我正在制作一个游戏,其中每个屏幕作为单独的swf加载。我正在使用Greensock的LoaderMax加载swf,但我不认为这是导致问题的原因。加载到swf后,我可以设置子swf的属性,如String和MovieClip。但是,我在库路径中有第三方库,两个项目的确切swc相同。但是,当我尝试传递非系统变量时,它会给出一个错误,基本上说"强制失败:无法将ThisType转换为ThisType"。如果它们是相同的数据类型,为什么编译器试图强制它们?我必须在这里遗漏一些东西......

错误:

TypeError: Error #1034: Type Coercion failed: cannot convert package::ThisType@7ffecfe4ba1 to package.ThisType.

at mJackStateMachine/onAskForClient()

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

这是(简化的)完整处理程序。当我尝试在swfs:

之间传递类型为ThisType的var a_thisTypeVar时,它会中断
function CompleteHandler(e:LoaderEvent) {

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

stage.addChild(childSwf);

childSwf.start(_thisTypeVar)

}

请帮忙!如何在swfs之间传递来自第三方库的变量。我应该能做到这一点,对吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

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