我有一个小的闪存文件,只是加载和显示一个图像缩放,以适应内容区域。我们将这些与javascript库一起使用,所以我们在一个html页面上有几个实例(嵌入了swfObject)我一直使用MovieClipLoader来加载jpgs,但它不再起作用。
我们更新了服务器,据我所知,只有相关的更改是与缓存相关的。以前,所有图像和swfs都是重新加载的。现在,它们应该从缓存中加载。
我可以从firebug中看到,swf实际上正在加载jpg,它没有显示任何内容。这发生在许多浏览器/os/flash插件组合上。有时会显示一些图像,有时什么都没有。
moviecliploader事件处理程序(onloadinit,onloaderror)中的代码永远不会运行。
任何关于如何让它工作的想法都将不胜感激。
发布于 2009-01-20 14:05:13
我找到了一个解决方案。
事实证明,问题与缓存有关,但与MovieClipLoader无关。
我基于Stage.width和Stage.height对加载的图像进行缩放。我发现flash有时会在短时间内给出宽度和高度为0。即使舞台上有可见的东西,也可能会发生这种情况。以前这不是问题,因为一旦加载了图像,尺寸就是正确的。现在,当图像来自缓存时,维度有时为0。
解决方案是检查onEnterFrame处理程序中的阶段尺寸,只有在尺寸大于0的情况下才继续加载
发布于 2009-01-20 06:33:05
我过去在使用多个MovieClipLoader实例时遇到过麻烦。与您类似,一些加载器似乎超时,从未显示它们应该加载的图像。我被告知这是由于HTTP并发线程的限制,理应一次下载两次(但从未得到确认)。
如果您在页面上使用多个swf文件,而不是使用一个加载所有文件的主flash,这一点尤其正确。
我已经解决了这个问题,在闪存中创建了一个简单的排队系统,其中最多可以同时加载两个movieClipLoaders。每当一个下载完成时,它就会触发下一个下载,依此类推,直到处理完所有的下载。这样做效果很好。
发布于 2009-01-20 07:39:23
我不能使用单一的主闪光灯。我们需要为每个图像有单独的闪存加载器。据我所知,不可能创建一个处理1到N个闪存加载器的排队系统。
经过大量测试后,我发现当flash加载时,第1帧中的操作根本不会运行,所以这似乎不是MovieClipLoader错误。我添加了一段简单的代码来在第一帧的舞台上绘制一条蓝线,当加载失败时,这条线根本不会出现。
https://stackoverflow.com/questions/457430
复制相似问题