0

Flash ビデオに 2 つの異なる要素をロードしたい:

最初は動的な写真です(外部変数から特定の番号を取得します)後者はswfビデオです...

私の質問は?

私は AS3 を初めて使用します。ローダーが必要であり、すべてをロードできることがわかりました。しかし、何個のローダーが必要ですか? 終了イベントで呼び出される関数を 1 つだけ変更することはできますか?

どうもありがとうございました。

エマヌエーレ

4

3 に答える 3

2

ロードするアセットごとにローダーを使用します。ロードされたアセットはそのローダーにアタッチされます。

このhttp://fluxdb.fluxusproject.org/libraries/135-bulk-loaderまたはこのhttp://fluxdb.fluxusproject.org/libraries/243-somaloaderをご覧ください

どちらも、多くの異なるアセットのロードを管理します。

于 2010-09-06T08:41:27.427 に答える
0

ローダーはMovieClipsによく似ており、必要な数だけ持っています。

于 2010-09-06T15:16:01.100 に答える
0

次のようなローダーを再利用できます。

var loader:Loader = new Loader();
loader.load(new URLRequest("http://someMedia.jpg"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);

function onComplete(event:Event):void
{
    addChild(event.target.content);

    loader.load(new URLRequest("http://someOtherMedia.jpg"));
}

これは両方の画像をロードしますが、すべてをきれいに保つにはあまり適していません

だから私はこの方法を提案します

var loader1:Loader = new Loader();
loader1.load(new URLRequest("http://someMedia.jpg"));
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader1Complete);

var loader2:Loader = new Loader();
loader2.load(new URLRequest("http://someOtherMedia.jpg"));
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader2Complete);

function onLoader1Complete(event:Event):void
{
    event.target.removeEventListener(Event.COMPLETE, onLoader1Complete);
    addChild(event.target.content);
    loader1.unload();
}

function onLoader2Complete(event:Event):void
{
    event.target.removeEventListener(Event.COMPLETE, onLoader2Complete);
    addChild(event.target.content);
    loader2.unload();
}

これは、ロードしたいものが 2 つ、3 つある場合に最適ですが、いくつかある場合は、関数をループすることをお勧めします

var loader:Loader;

function loopLoader():void
{
    for (var i:int = 0; i < 10; i++)
    {
        loader = new Loader();
        loader.load(new URLRequest("http://someMedia.jpg"));
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
    }
}

function onLoaderComplete(event:Event):void
{
    event.target.removeEventListener(Event.COMPLETE, onLoaderComplete);
    addChild(event.target.content);
    loader.unload();
}

loopLoader();
于 2010-09-06T23:42:03.700 に答える