我有 xml 结构,可以在其中加载程序的大部分数据。在这种情况下,我想实例化一个在 xml 中指定的类。我想我可以在 xml 中编写类的名称,然后实例化它并将参数传递给它。原来这并不容易!
我试过这样的代码:
//special objects
for each (o in xml.Objects[0].special)
{
p.x = o.@x;
p.y = o.@y;
s.x = o.@width;
s.y = o.@height;
trace(o.@classname);
//var type:Class = o.@classname as Class;
var type:Class = getDefinitionByName(String(o.@classname)) as Class;
trace(type);
objectArray.push(new type(p, s));
trace("special");
}
如您所见,我在 xml 文件的类名属性中有我的类的名称。我设法用 getDefinitionByName 获得了定义(至少下一个跟踪显示正确的类名)但是当我尝试实例化它并将它推入数组时,我得到一堆开始的错误
错误 #2136:SWF 文件 file:///Users/tuomas/Dropbox/Flash/ScorpionBox/bin-debug/ScorpionBox.swf 包含无效数据。
知道我应该怎么做吗?