Actionscript 3 AS3:设置已加载swf的实例名称

Actionscript 3 AS3:设置已加载swf的实例名称,actionscript-3,Actionscript 3,我正在运行一个for循环,将swf加载到舞台上_componentData是一个XMLList private function loadDevices():void { for each (var d:XML in _componentData.device) { var iname:String = d. @ iname; var mLoader:Loader = new Loader(); var mRequest:URLR

我正在运行一个for循环,将swf加载到舞台上_componentData是一个XMLList

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

在onDeviceLoadComplete中,我希望能够设置加载的swf的实例名称。我可以向事件处理程序函数发送额外的参数吗?或者有更好的方法吗?

非常确定您不能在动态生成的对象上更改实例名称。在任何情况下,将它们放入数组以供参考都可能更容易。您可以在数组中使用关联键并参照它们:

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

for (var item in myArray) {
    trace(item); // apple
    trace(myArray[item]); // red
}
我发现了一个很好的例子,它为我指明了正确的方向,因为我无法设置实例名


我正在做的是将加载程序的name prop设置为iname,然后使用e.target.loader.name而不是实例名。从那里我可以在我的发展中前进。谢谢

如果目标是属性引用,则始终可以设置“name”属性。我不确定如何从处理函数内部添加名称。