Actionscript 2:MovieClipLoader.onLoadProgress未在生产中触发

时间:2008-09-19 12:48:29

标签: flash actionscript-2 moviecliploader

我正在使用Flash CS3,目标是Actionscript 2,我正在编写一个图像预加载器。当我打开下载模拟测试电影时,一切正常,我的预加载器成功更新了我制作的下载进度条。当我将电影上传到我的网络服务器时,它几乎就像MovieClipLoader.onLoadProgress事件在上传结束之前没有被触发一样,因为电影在那里停留几秒没有通知,然后有一个突然爆发的活动和我的预加载器非常迅速地从0到100%。有没有人以前遇到过这种行为,如果有的话,我做错了什么?

4 个答案:

答案 0 :(得分:1)

我建议使用像Charles(http://www.charlesproxy.com/)这样的调试代理来查看从服务器下载文件的方式(例如,在下载开始之前是否存在高延迟,实际需要多少秒转移数据)。这样,您可以更好地了解预加载器是否准确反映了服务器的数据传输。

答案 1 :(得分:1)

您是否在不同的浏览器中尝试过?我相信Flash至少在某些情况下会使用浏览器来下载文件。 Firefox可能正在下载文件,无需通知Flash,然后将其全部发送到闪存中。我没有看到FF自己这样做,但是扩展可能会拦截下载。

我唯一一次相信我已经看到过这样的进展发生在之前,就像我获得缓存副本而不是重新下载一样。但是,既然你看到了实际的下载,我猜这不是你得到的。

在IE中尝试,看看你是否有同样的行为。

答案 2 :(得分:0)

感谢您快速回复Matt。我之前从未听过Charles,但它似乎是一个非常强大的工具。为了我的目的,我还可以在Firefox中使用Firebug的Net工具查看文件获取请求和进度。 Charles和Firebug都表示正在成功请求和下载图像,并且所有图像都在Flash电影出现之前几秒钟完成,以响应并更新加载栏/ fire onLoadProgress。

答案 3 :(得分:0)

经过大量测试后,我最终完全重组/重写预加载器的工作方式,这解决了我的问题。我认为最终图像的加载和事件的发射之间存在一些滞后实际上(由于我仍然不完全理解的原因)更新我的预加载器剪辑的代码没有被运行,因为事件是解雇了,但是等到系列中的最后一张图片开始加载才开始工作。我从preloader影片剪辑(查看一些_root级别进度变量并在输入框架上更新自身)内部移动了更新加载进度的代码到onLoadProgress事件本身。所有发表评论的人都非常感谢你们的快速反应,一旦我达到15岁,我会把你们的答案都投票给他们,因为他们很有帮助,如果不是我正在寻找的答案那么。