1

外部 SWF をロードするだけの Flex アプリケーションがありますが、アプリケーションは私の SWF を無限にロードおよびアンロードします。

埋め込まれた as3 コードは次のとおりです。

<![CDATA[

        import mx.events.FlexEvent;

        private var m_Application:Application;

        private function initGenderMenuApp(evt:FlexEvent):void{ 

            m_Application = evt.target as Application;
            m_Application.removeEventListener( FlexEvent.APPLICATION_COMPLETE, initMenuApp );
            var loader:Loader = new Loader();

            trace("initApp");
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onFailedLoad);
            loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadedApp );
            loader.load( new URLRequest( "application.swf" ));

        }
        private function onFailedLoad( evt:Event ):void{

            trace("ERROR", evt.target);
        }

        private function onLoadedApp( evt:Event ):void{


            trace("Loading Application..");
            var loaderInfo:LoaderInfo = evt.target as LoaderInfo;
            loaderInfo.removeEventListener( Event.COMPLETE, onLoadedApp);
            trace(loaderInfo.loader.content);
            m_Application.addElement( new SpriteUIComponent( evt.target.loader.content as MovieClip));          
        }

    ]]>

SpriteUIComponent は、SWF を Sprite としてステージに追加するために使用されます。

よろしく

4

2 に答える 2

0

メインアプリ自体と同じapplication.swfを読み込もうとしていますか?(再帰???)

于 2011-05-06T08:02:12.403 に答える
0

2 つのイベントを追加して、読み込みで何が起こっているかをよりよく監視できます。これらの 2 つはHTTPStatusEvent.HTTP_STATUSProgressEvent.PROGRESSです。

これらは次のように使用されます。

loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);

private function progressHandler(event:ProgressEvent):void {
    trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}

private function httpStatusHandler(event:HTTPStatusEvent):void {
    trace("httpStatusHandler: " + event);
}

これで、何が起こるかをより適切に制御できるようになります。ロードが完了するまでにロードされるバイト数と、http エラーがあるかどうかが表示されます。

于 2011-05-06T08:04:51.670 に答える