2010-09-06 39 views
0

我想要加載在我的flash視頻2不同的元素:ActionScript 3.0有多少個加載器?

首先是一個動態的照片(我從一個外部變量的具體數量) 後者是SWF視頻......

我的問題是?

我是新來的AS3,我看到我需要一個裝載機,我可以裝載所有東西..但是我必須裝載多少裝載機?我可以只使用一個更改在結束事件上調用的函數嗎?

非常感謝。

Emanuele

回答

0

裝載機非常類似於動畫片段 - 儘可能多地使用它們。

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(); 
} 

這如果你想加載兩個或三個東西,這是非常棒的,但如果你有幾個,則優先使用循環功能

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();