使用Actionscript 3中的数组运算符访问类

时间:2013-02-08 00:43:23

标签: actionscript-3 flash actionscript

我的库里有一堆MovieClip类,比如

ship_3000aa
ship_3000ab
ship_3001aa

等等。

我需要像这样访问它们:

var image_key:String = "3000aa";
var ship:MovieClip = new _root["ship_"+image_key]();

所有这一切都发生在一个类中,并且所有的MovieClip都被导出到第2帧,这是实例化它的类。

root是基础根。找不到“”的“root”。 _root上的属性为null。该属性在_stage上也不存在。

是否有正确的方法使用类中的数组访问运算符实例化库MovieClip类?

感谢。

1 个答案:

答案 0 :(得分:3)

您可以通过将类保存在数组中来实例化对象:

var classArray:Array = [ship_3000aa, ship_3000ab, ship_3001aa];
var ship:MovieClip = new classArray[2]();

或使用flash.utils.getDefinitionByName通过类名实例化对象(在您的情况下可能更有用):

var imageKey:String = "3000aa";
var ShipClass:Class = getDefinitionByName("ship_" + imageKey) as Class;
var ship:MovieClip = new ShipClass();