我的库里有一堆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类?
感谢。
答案 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();