我有一个SWC其中包含8个精灵,每一个具有与模式Icon01,Icon02等链接标识符我可以做的事情创建这些精灵的一个实例形式的Flash AS3 SWC附加符号
var i:Icon01 = new Icon01();
this.addChild(i);
然而,我有一个包含不同的信息的XML文件,并且每个消息包含被标记以相同的方式的图像元素
...
<message>
<image>Icon01</image>
</message>
...
我想能够解析XML并将相应的精灵附加到舞台上。如何才能做到这一点?
我的XML数据解析为对象的数组和XML元素住在
var msgObj:Object = this.theMessages.messages.shift();
trace(msgObj.image);
但我无法弄清楚如何将它转换为一个精灵,并把它添加到舞台上。我试着做
var s:Sprite = msgObj.image as Sprite;
this.addChild(s);
而我刚刚得到一个有关NULL对象的错误。谢谢你的帮助。
感谢您的建议。这使我更接近我想要的东西,但是,在它正常工作之前,我必须定义每种类型图像的变量(例如var i:Image01)。是否可以按照上面概述的方式附加资产,而不必首先声明变量类型? – 2011-03-23 23:11:52
@Matt当你使用getDefinitionByType时,你得到了一个你可以实例化的类的引用。我不确定你的意思是“不必首先声明变量类型”。您添加到显示列表的所有内容都是DisplayObject(例如MovieClip,Bitmap等) – 2011-03-23 23:18:32