使用getdefinitionbyname访问swc文件中的多个位图图像

时间:2014-08-15 11:04:17

标签: actionscript-3 air swc

我从我的客户那里收到了一个 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文件中的正确名称。

有谁知道为什么我会收到此错误? 非常感谢任何提示或解决方案: - )

2 个答案:

答案 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

的段落下

对我来说,遗憾地搞砸了项目的很大一部分。好吧......每天都有新的解决方案: - )