1

3つのswfファイルを一度に1つずつ親swfにロードしようとしています。ただし、そのうちの2つが3つ目のロードを行うと、問題が発生します。他の2つは私のカスタムプリローダーを使用していますが、3つ目はそれを認識できず、デフォルトのフラッシュローダー(5ドット)を示しています。ただし、ローディングバーは正しくロードされます。そして、3番目のSWF内でthis.parentをトレースすると、nullが表示されます。

ここで明らかな何かが欠けているかどうかはわかりませんが、それらすべてのコードは同じです。

package  
{

import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
import flash.events.Event;
import flash.system.Security;

public class PreloaderMain extends MovieClip
{
    private var l:Loader = new Loader();

    public function PreloaderMain() 
    {
        LoadGame3(); //THIS DOES NOT LOAD UP
    }   


    private function LoaderIOErrorHandler(i:IOErrorEvent):void
    {
        trace("IOErrorHandler: " + i.toString());
    }

    private function loop(e:ProgressEvent):void
    {
        var perc:Number = e.bytesLoaded / e.bytesTotal;
        mLoadingScreen.percent.text = (Math.ceil(perc * 100) + "%").toString();
    }

    private function done(e:Event):void
    {
        addChild(l);
    }


    private function LoadGame1():void // THIS LOADS FINE
    {
        l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoaderIOErrorHandler);
        l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
        l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
        l.load(new URLRequest("SWF1.swf"));
        l.x = 20;
        l.y = 100;
    }

    private function LoadGame2():void //THIS LOADS FINE
    {
        l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoaderIOErrorHandler);
        l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
        l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
        l.load(new URLRequest("SWF2.swf"));
        l.x = 20;
        l.y = 100;
    }

    private function LoadGame3():void //THIS GIVES A PROBLEM!!
    {
        l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoaderIOErrorHandler);
        l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
        l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
        l.load(new URLRequest("SWF3.swf"));
        l.x = 20;
        l.y = 100;
    }
}

}

4

0 に答える 0