0

我的库中有一堆用于 MovieClips 的类,例如

ship_3000aa
ship_3000ab
ship_3001aa

等等。

我需要像这样访问它们:

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

所有这些都发生在一个类中,并且所有的 MovieClip 都被导出到第 2 帧,这是发生这种情况的类被实例化的地方。

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

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

谢谢。

4

1 回答 1

3

Either you can instantiate an object by keeping the classes in an Array:

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

or instantiate an object by the class name by using flash.utils.getDefinitionByName (probably more useful in your case):

var imageKey:String = "3000aa";
var ShipClass:Class = getDefinitionByName("ship_" + imageKey) as Class;
var ship:MovieClip = new ShipClass();
于 2013-02-08T00:51:55.353 回答