[英]Flex Image Source Server Side Flash and Air
我正在尝试在空中运行时而不是Flash运行时中运行我的Flex应用程序。 除图像外,它似乎工作正常。 Adobe Air运行时尝试加载它们。 有没有办法将Image的根地址更改为服务器端? 如果可能的话,我想对Flash运行时和air运行时使用相同的代码..“单个代码库;-)”
var icon:Image = new Image();
icon.source = "images/test.png";
问候西里尔
通常,我只是将资产打包到AIR应用程序中。 这样,相对路径在Web应用程序和桌面应用程序中均有效。 但是,由于您在评论中指出我们正在谈论10000张图像,因此您必须找到其他解决方案。
您需要的是可以为每种项目类型配置的变量。 访问图像的最终代码应如下所示:
var icon:Image = new Image();
icon.source = rootUrl + "/images/test.png";
对于Web应用程序,该rootUrl
可能是""
,对于桌面应用程序,该rootUrl
可能是""
"http://www.mydomain.com"
。 或在两种情况下都可能是绝对路径。 没关系:我们不想将该URL硬编码到我们的应用程序中。
创建一个包含rootUrl
值的.properties文件(或XML或JSON;任何您喜欢的配置文件),并将其读入您的应用程序模型。 该配置文件可以打包到AIR应用程序中。
.properties文件如下所示:
#myapp.properties
rootUrl=http://www.mydomain.com
为了读取文件,您可以使用AIR的文件流功能,但是我建议您使用URLLoader
以老式的方式加载它:这样,它就可以在Web和桌面应用程序中使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.