在运行时将swf分配为flex中的图像源

问题描述

| 在Flex中,如何在运行时将swf分配为图像源,而不是将其嵌入。
[Bindable] public var myImg:String;

<mx:Image id=\"intImg\" source=\"{myImg}\" width=\"96%\" height=\"96%\" />
在我的应用程序中,我从Web服务调用中动态获取图像URL,并将其分配给\“ myImg \”。 但是,直到我没有从Web服务调用获得响应之前,我想在上面的图像控件中显示一个加载程序swf。我分配了类似的东西:
myImg = \"assets/AS3.swf\";
并且swf的路径是正确的,但是没有显示。 更新: 我上面显示的代码在Flex 3应用程序中完美运行,而swf在Flex 4应用程序中未显示。是否因为Image control放弃了Flex 4对swf的支持? 请帮帮我。 谢谢     

解决方法

使用
SWFLoader
加载SWF,图像是为图像制作的...     ,您绝对确定您的路径正确吗?因为它应该工作。 请记住,您编写的路径(assets / AS3.swf)相对于应用程序swf文件的位置。因此,例如,如果您正在FlashBuilder / FlexBuilder中进行调试,则文件应位于
[yourprojectdirectory]/bin-debug/assets/AS3.swf
未嵌入的文件不会自动复制到bin-debug文件夹(或与此相关的bin-release文件夹)。因此,您必须手动进行。 您可以使用Web调试代理(例如Charles)来查看是否在您使用的路径中找到该文件。     ,您是否在从Flex 3到Flex 4.5的迁移中意外地将mx:Image重构为s:Image? 对于Spark Image,可能是您需要在SWF中引用符号名称。 我发现这可行:
<s:Image source=\"@Embed(source=\'path.swf\',symbol=\'name\')\" ...
不过,这似乎是一种不好的做法-与mx:Image本身会加载SWF的方式不同,Spark Image用于位图数据。     ,对于Flex 4,我认为仅删除了支持AS3(AVM2 *)的SWF。 尝试在AVM1中运行的AS1和AS2 * * AVM(ActionScript虚拟机)     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...