我从我的客户那里收到了一个 SWC 文件,其中有数百个png图片都有 AS Linkage ,例如 image1_1_1,image1_1_2,image1_2_1,image2_1_3 依此类推。我在正在加载的 XML 文件中有这些相同的链接名称。 所有图片都与 BitmapData 类链接为基类。
问题是,当我尝试使用 getDefinitionByName 从xml文件和链接名称动态创建新位图时,我收到以下错误:
ReferenceError: Error #1065: Variable image1_1_1 is not defined.
我创建位图的代码如下:
var BmDataClass:Class = getDefinitionByName(xmlImage) as Class;
var image:Bitmap = new Bitmap(new BmDataClass());
其中 xmlImage 是每个循环的变量,循环遍历xml文件。
我跟踪xmlImage,所以我知道它对应于SWC文件中的正确名称。
有谁知道为什么我会收到此错误? 非常感谢任何提示或解决方案: - )
答案 0 :(得分:0)
试试这个:
var imageName:String = "xxx";
var myClass:Class = getDefinitionByName(imageName) as Class;
var bmp:BitmapData = new myClass(0, 0) as BitmapData;
var img:Bitmap = new Bitmap(bmp);
答案 1 :(得分:0)
答案似乎已经接受了这个主题的答案
Instantiate a class from a string in ActionScript 3
并在此页面上稍作解释
http://producerism.com/blog/flashpunk-dame-and-lua-tutorial-part-6/
在标题为 getDefinitionByName
的段落下对我来说,遗憾地搞砸了项目的很大一部分。好吧......每天都有新的解决方案: - )