2010-02-01 61 views
2

我试图在for循环中加载外部SWFs,并且我遇到了这个问题,它确实在吞噬我:在事件处理程序中,我需要知道SWF的文件名加载,但我无法获得此。下面的代码显示了我想要做的事情。AS3:在for循环中加载SWFs

有没有人有什么想法?

function loadManySWFs(arrayOfFileNames:Array) 
{ 
    for(var i=0; i<arrayOfFileNames; i++) 
    { 
     var mLoader:Loader = new Loader(); 
     var mRequest:URLRequest = new URLRequest(arrayOfFileNames[i])); 
     mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); 
     mLoader.load(mRequest); 
    } 

} 


function onLoadComplete(e:Event) 
{ 
    // Here I need to know the filename of the SWF that was loaded. How can I do this? 

} 

感谢您的帮助!

回答

4

event.target将包含相关的LoaderInfo对象,您可以从中检索url。

function onLoadComplete(e:Event):void { 
    trace(LoaderInfo(e.target).url); 
} 
+0

@maxmc'event.target'将是注册事件侦听器的'LoaderInfo'对象。编辑修复它。 – Amarghosh 2010-02-02 08:06:45

+0

@Amarghosh:谢谢 – maxmc 2010-02-02 17:06:32