Flex4调用的SWF文件中未处理的IOErrorEvent

时间:2011-02-03 17:01:36

标签: flash flex actionscript-3 air flex4

HI, 我遇到了一个问题,解决问题可能很简单,但我陷入了困境,所以......

这是我的代码:

<mx:SWFLoader source="@Embed('assets/games/memory.swf')" includeIn="memory" trustContent="true"/>

我正在加载一个swf文件,我做了,但想到的是,在这个swf文件中我正在做URL请求获取图像文件,当我打开swf它工作正常,但是当我使用代码加载时上面,我收到一个错误:

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.

一切都很好,只是外面的图像没有加载!

有人知道如何解决这个问题吗?

谢谢!

编辑:

如果我以调试模式运行,我在控制台中收到了这条消息:

[SWF] Machine.swf/[[DYNAMIC]]/1 - 277,632 bytes after decompression
SharedObjectExample() loaded
SharedObject loaded...

loaded value: undefined

EDIT2: 有趣的是,我使用BulkLoader开始工作,有趣的是,当我使用BulkLoader并在调试模式下运行时,我得到了:

[SWF] assets/games/memory.swf - 277,632 bytes after decompression
SharedObjectExample() loaded
SharedObject loaded...

loaded value: undefined

可能是PATH问题,问题是: 当我使用SWFLoader加载时,它是否在不同的上下文路径中加载?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,诀窍是,如果我将swf文件加载为'嵌入'所有相对路径(在swf内)将是我的主应用程序(mais swf),所以我得到了这个跟踪:< / p>

[SWF] Machine.swf/[[DYNAMIC]]/1 - 277,632 bytes after decompression

如果我想在我的'孩子'swf中使用实际路径,我无法加载为'嵌入'!

所以,要解决这个问题,我只需将代码更改为:

<mx:SWFLoader id="loader" source="assets/games/memory.swf" includeIn="memory"/>

编辑:

我在我的博客中发布了一个帖子也解释了它:http://arthurnn.com/blog/2011/02/03/trick-using-swfloader-to-load-a-swf-file/