2011-03-04 53 views
0

我正在运行将swfs加载到舞台上的for循环。 _componentData是一个XMLList。AS3:设置加载的swf的实例名称

private function loadDevices():void 
{ 
    for each (var d:XML in _componentData.device) 
    { 

     var iname:String = d. @ iname; 
     var mLoader:Loader = new Loader(); 
     var mRequest:URLRequest = new URLRequest(d. @ path); 

     mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onDeviceLoadComplete); 
     mLoader.load(mRequest);        
    } 
} 

Inside onDeviceLoadComplete我希望能够设置加载的swf的实例名称。我可以发送额外的参数给事件处理函数吗?还是有更好的方法?

回答

0

我找到了一个不错link是我指出了正确的方向,因为我无法设置实例名称。

我在做什么是设置加载器的名称prop到iname,然后使用e.target.loader.name而不是实例名称。从那里我能够在我的发展中前进。谢谢!

0

很确定你不能在动态生成的对象上更改实例名称。无论如何,将它们推入数组中以供参考可能会更容易。你可以在阵列中使用关联键和引用它们的方式:

var myArray:Object = new Object(); 
myArray.apple = "red"; 

for (var item in myArray) { 
    trace(item); // apple 
    trace(myArray[item]); // red 
} 
+0

如果目标是属性引用,则可以随时设置'name'属性。 – Pythovore 2011-03-04 14:53:59

+0

我不知道如何在处理函数中添加名称。 – 2011-03-04 15:40:04