繁体   English   中英

运行时的Flex mx图像源路径

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM