MovieClipLoader失败(与缓存有关)

时间:2009-01-19 12:25:36

标签: flash actionscript-2

我有一个小的Flash文件,只需加载并显示一个缩放的图像以适合内容区域。我们在javascript库中使用这些,所以我们在一个html页面上有几个实例(嵌入了swfObject)我一直在使用MovieClipLoader加载jpgs但它不再有效。

我们更新了服务器,据我所知,只有相关的事情是缓存相关的。以前所有的图像和swfs都是重新加载的。现在应该从缓存中加载它们。

我可以从firebug看到swf实际上正在加载jpg它只是没有显示任何内容。这种情况发生在许多浏览器/ os / flash插件组合上。有时一些图像显示,有时没有。

moviecliploader事件处理程序(onloadinit,onloaderror)中的代码永远不会运行。

任何关于如何使这项工作的想法都将受到赞赏。

3 个答案:

答案 0 :(得分:0)

过去使用MovieClipLoader的多个实例时遇到了麻烦。与你类似,一些加载器似乎超时,从不显示他们应该加载的图像。我被告知这是由于HTTP同时出现的线程限制,据说一次下载两次(但从未得到确认)。

如果您在页面上使用多个swf文件,而不是一个加载它们的主闪存,则尤其如此。

我通过在flash中创建一个简单的排队系统来解决这个问题,其中最多同时加载两个movieClipLoader。每当完成后,它会触发下一次下载,依此类推,直到处理完所有下载。这非常有效。

答案 1 :(得分:0)

我无法使用单个主闪光灯。我们需要为每个图像分别安装闪存加载器。据我所知,不可能创建一个处理1到N个闪存加载器的排队系统。

经过大量测试后,我发现第一帧中的动作在闪存加载时根本没有运行,所以这似乎不是一个MovieClipLoader错误。我添加了一个简单的代码,在舞台上绘制一条蓝线到第一帧,当加载失败时,线条根本不显示。

答案 2 :(得分:0)

我找到了解决方案。

原来问题与缓存有关,但与MovieClipLoader无关。

我正在根据Stage.width和Stage.height缩放加载的图像。我发现闪光有时会在短时间内给出宽度和高度为0。即使舞台上有可见的东西,也可能发生这种情况。以前这不是问题,因为一旦加载图像尺寸是正确的。现在,当图像来自缓存时,尺寸有时为0。

解决方案是检查onEnterFrame处理程序中的舞台尺寸,并仅在尺寸为>的情况下继续加载。 0