0

我需要能够将我的库中的对象插入到舞台上。它们都是不同的 .jpg,已正确导入并具有 AS Linkage 名称,如 GIS_1 GIS_2 等。

我正在尝试运行一个函数来根据外部变量一次导入一个。

例子:

var GIS_Image = new GIS_#();       //the "#" needs to change as depending on a counter
addChild(GIS_Image);

但我需要的是能够将名称“GIS_1”作为一个变量,这样我就可以在每次需要新图片时让它改变。我的第一个想法是按照以下方式制作一个字符串:

var counter:int = 2;
var test:String = ("GIS_"+count);
var circle = new test();

但它不会工作,因为它正在寻找对象名称测试而不是访问文本组成的字符串。

有任何想法吗?

谢谢!

4

1 回答 1

1

退房getDefinitionByName。这允许您创建由 String 标识的给定类的实例。

package {
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.utils.getDefinitionByName;

    public class GetDefinitionByNameExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint = 80;

        public function GetDefinitionByNameExample() {
            var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
            var instance:Object = new ClassReference();
            instance.graphics.beginFill(bgColor);
            instance.graphics.drawRect(0, 0, size, size);
            instance.graphics.endFill();
            addChild(DisplayObject(instance));
        }
    }
}

因此,您可以传递符号的名称并根据需要创建它的新实例。

于 2013-10-04T17:51:09.490 回答