Flash ビデオに 2 つの異なる要素をロードしたい:
最初は動的な写真です(外部変数から特定の番号を取得します)後者はswfビデオです...
私の質問は?
私は AS3 を初めて使用します。ローダーが必要であり、すべてをロードできることがわかりました。しかし、何個のローダーが必要ですか? 終了イベントで呼び出される関数を 1 つだけ変更することはできますか?
どうもありがとうございました。
エマヌエーレ
Flash ビデオに 2 つの異なる要素をロードしたい:
最初は動的な写真です(外部変数から特定の番号を取得します)後者はswfビデオです...
私の質問は?
私は AS3 を初めて使用します。ローダーが必要であり、すべてをロードできることがわかりました。しかし、何個のローダーが必要ですか? 終了イベントで呼び出される関数を 1 つだけ変更することはできますか?
どうもありがとうございました。
エマヌエーレ
ロードするアセットごとにローダーを使用します。ロードされたアセットはそのローダーにアタッチされます。
このhttp://fluxdb.fluxusproject.org/libraries/135-bulk-loaderまたはこのhttp://fluxdb.fluxusproject.org/libraries/243-somaloaderをご覧ください
どちらも、多くの異なるアセットのロードを管理します。
ローダーはMovieClipsによく似ており、必要な数だけ持っています。
次のようなローダーを再利用できます。
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();