如何将动态图像资源加载到adobe air中

时间:2012-07-12 00:24:30

标签: flex air flash-builder swc

我正在处理的应用程序在一个点上显示四个随机图像。这四个图像来自一组五十个图像。如果这是一个标准的Flex项目,我只需要设置img.source属性:

this.img1.source ="../assets/img/"+randomname+".png";`

这不起作用,我的图像已经破损了。另一种方法是使用urlLoader加载图像,这也没有加载图像(不出所料,因为它是本地资产)

loader = new Loader();
var urlReq:URLRequest = new URLRequest("../assets/img/"+randomname+".png");
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
loader.load(urlReq)

所以这也不起作用,我正在考虑将所有图像加载到swc中,然后将swc链接到项目中。这显然不是很好,因为所有资产都在运行时加载到内存中。还有另一种方法吗?

我希望我错过了一些非常简单的东西。

如果.swc解决方案是最好的解决方案,有人可以指出我正确的方向吗?我忘记了整个业务的运作方式,因为我使用Flex / Flash已有几年了。

提前致谢

2 个答案:

答案 0 :(得分:1)

您应该将资产目录添加为“源”目录。

然后您应该知道资产目录的内容将被复制到应用程序的根目录。因此,当您拥有图像“assets / interface / bg.png”时,您应该使用新的URLRequest(“interface / bg.png”)加载它。

答案 1 :(得分:0)

您可以尝试:

var urlReq:URLRequest = new URLRequest("assets/img/"+randomname+".png");