我会尝试这么简单: 如果我从Flash IDE创建AIR应用程序,我可以选择在我的包中嵌入文件夹。然后我可以使用' app:/' + filename加载文件。一切都好。 我必须转到Flash Builder,因为我无法在IDE中测试工作者(感谢Adobe)。我的问题是,如果我从Flash Builder进行测试/调试,则在调用' app:/' + filename时会出现流错误。如果我在FB中从IDE启动测试,它可以工作,但工作人员不会。我应该提一下,我使用这种方法的原因是我有这么多的图形资产,它更容易维护/更新这种方式而不是使用[Embed ..]来处理我的所有项目,以及它只适用于IDE ......
我已将我的文件夹添加到Flash Builder中的源位置,但似乎我无法使用' app:/'的事情。
我如何才能完成这项工作,以便我不会更改我的代码并仍使用' app:/'? FB是一个令人困惑的程序......
编辑:我再次测试了由FB启动的IDE构建中的工作者(在Flash IDE图标中测试),我可以跟踪其状态:
worker.start();
worker.addEventListener(Event.WORKER_STATE, this._handleWorkerState);
private function _handleWorkerState(__e:Event):void{
trace(__e.currentTarget.state);
}
追踪'新'然后'跑步'。但由于某种原因,它不会从任何消息通道发送或接收任何数据,当我运行调试但没有找到我的文件时,它再次在FB4.7中工作....
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: app:/foldername..
基本上,我正在寻找解决至少一个问题的方法:)
编辑: 那么好吧。在这里,一个问题是由于安装了错误的调试器版本(对于工作者部分)。所以我现在可以再次在IDE中工作和编译。我还没有找到答案为什么' app:/'从FB4.7开始不起作用。这就是剩下的问题。
答案 0 :(得分:1)
由于您拥有Flash IDE,因此可以创建包含所有图像的库。将所有图像放入Flash中的库中,然后将其导出为actionscript。然后发布并创建一个SWC。然后你可以在flashbuilder中使用swc,它有点像显示对象的zip文件,并可以访问它们:
var mc:MovieClip = new imageExportedForAS3_1()
答案 1 :(得分:1)
在flex项目中创建一个名为images的顶级文件夹,将所有图像复制到该文件夹中,然后每次需要加载图像时,只需使用source属性并使用absoulte rute。
<mx:Image source="@Embed(source='../images/pic.png')"
我之前从未使用过app:/句子!祝你好运!