Actionscript 3.0:添加具有更改变量名称的对象

时间:2013-10-04 17:48:18

标签: actionscript-3 flash

我需要能够将我的库中的对象插入舞台。它们都是不同的.jpg,已经正确导入并具有AS链接名称,如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();

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

任何想法?

谢谢!

1 个答案:

答案 0 :(得分: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));
        }
    }
}

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