AS3使用addChild(),其变量取自XML

时间:2013-02-13 16:57:57

标签: actionscript-3 flash

我创建了一个函数,它将使用xml中的变量从库中添加一个子项。

var ChosenGraphic:String = units.unit.(@titel==k1).graphic;
var mc:MovieClip = new ChosenGraphic;
addChild(mc);

我知道我不能使用:字符串,但我不知道该使用什么。我现在试着让它工作2个小时,而且它变得非常令人沮丧。 其他一切都有效,我已经测试了。

1 个答案:

答案 0 :(得分:0)

您想使用getDefinitionByName()顶级功能。

以下是使用它的示例,直接从我链接的文档中提取。请注意,类名字符串必须是完全限定的类名(即:它包括包名和类)。

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));
        }
    }
}