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

时间:2011-03-04 14:35:44

标签: actionscript-3

我正在运行一个for循环,将swfs加载到舞台上。 _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的实例名称。我可以向事件处理函数发送额外的参数吗?或者有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

我发现了一个很好的link,它指出了我正确的方向,因为我无法设置实例名称。

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