【问题标题】:Unhandled IOErrorEvent in SWF file called by Flex4Flex4 调用的 SWF 文件中未处理的 IOErrorEvent
【发布时间】:2011-02-03 17:01:36
【问题描述】:

嗨, 我遇到了一个问题,这可能很容易解决,但我陷入了困境,所以....

这是我的代码:

<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

编辑2: 有趣的想法,我开始使用BulkLoader,有趣的想法是,当我使用 BulkLoader 并在调试模式下运行时,我得到:

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

loaded value: undefined

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

【问题讨论】:

  • memory.swf 文件加载的 URL 是否是相对路径,如果是,则可能包含 memory.swf 的 swf 没有相同的基本目录,因此相对路径没有t 正确解析,如果您使用 firefox 安装 firebug 并观察流量以查看它请求的 URL 以确定如何在需要时更改相对路径,否则为 FaultEvent.FAULT 添加一个侦听器并在其中放置一个断点以查看如果故障为您提供更多信息。 (firebug 的替代品,获得 Charles 网络调试代理,免费试用很棒的程序,非常值得 50 美元)
  • m doing a air app, so cannot use firefox plugins! try to add FaultEvent.FAULT, but its 没有到达那里!
  • 能否把加载到memory.swf的图片的网址贴出来?

标签: flash apache-flex actionscript-3 air flex4


【解决方案1】:

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

[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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2011-08-13
    相关资源
    最近更新 更多