问题是,B.swf 是主要应用程序,因为它很大,我使用单独的 A.swf 来加载 B.swf,然后只是添加到舞台。但是在那种情况下,B.swf 不能正常工作(有些工作,但有些功能不起作用),在这种情况下,主要阶段是什么。当我直接加载 B.swf 时,它工作得很好,所以有什么想法如何用 A.swf 加载 B.swf,而不是“更改”主时间线/阶段以指向 B.swf,以便 B 可以发挥全部功能?
问问题
861 次
2 回答
1
您是否尝试将 B.swf 加载到 currentDomain 中,如下所示:
var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
yourLoader.load(new URLRequest("B.swf"), context);
当然记得添加所有事件:) 比如完整和 ioerror,
于 2012-09-04T09:31:24.987 回答
0
我不知道这是否对您有帮助,但它是我使用 FlashDevelop 的预加载器完成的实时更新系统:
public function Preloader()
{
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("ABSOLUTE URL");
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.load(mRequest);
function onCompleteHandler(loadEvent:Event):void
{
addChild(loadEvent.currentTarget.content);
}
if (stage) {
stage.scaleMode = StageScaleMode.NO_SCALE;
}
addEventListener(Event.ENTER_FRAME, checkFrame);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
// TODO show loader
}
于 2012-09-04T15:32:05.303 回答