[英]Flex mx Image source path at runtime
我正在研究其他人编写的Flex AIR桌面项目。 原始作者使用了几个mx.controls.Image组件。 这样分配的运行时映像路径:
image.source = "/assets/book.png";
它不起作用-我只得到了残破的图像图标。
我从未在自己的代码中使用上述方法。 就个人而言,我一直使用编译时嵌入式图像或URLLoader / Loader作为运行时图像。
因此,我想学习如何使这种图像路径方法起作用。
我写了一个简单的测试程序。 这是我的.mxml-
<?xml version="1.0" encoding="utf-8"?>
<pf:LearningAS xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:pf="com.powerflasher.*">
<mx:Image id="myImage"/>
</pf:LearningAS>
这是我连接的.as
public class LearningAS extends WindowedApplication {
public var myImage:Image;
public function LearningAS() {
super();
addEventListener(FlexEvent.CREATION_COMPLETE, init);
}
protected function init(event:FlexEvent):void {
myImage.source = '/assets/myimage.png';
}
}
我还将src / assets文件夹添加到AIR包内容中。 我在编译器指令中添加了-use-network = false。 (我正在使用FDT和Flex 4.6)。
好的-在Flex邮件列表的帮助下,将其破解。
我必须将资产文件夹复制到我的bin文件夹中。 这样路径就相对于.swf。 (实际上,我已经为以前的AS3项目完成了此操作-但我认为AIR的打包资产文件夹将涵盖此内容。)
无论如何-问题解决了。
根据您的代码,您提供了不正确的图像路径引用,而不是myImage.source = '/assets/myimage.png';
/ myImage.source = '/assets/myimage.png';
试试myImage.source = 'assets/myimage.png';
希望它为您工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.