假设我有一个大的.swf文件。说,它是10MB。我不希望浏览器加载整个文件,直到用户单击第1帧中的某个按钮。如何停止加载Flash文件(.swf)(ActionScript 3)
我不想使用外部文件。我只想Flash Player首先下载10KB,显示第1帧,然后停止,直到用户单击按钮。
这有可能吗?
假设我有一个大的.swf文件。说,它是10MB。我不希望浏览器加载整个文件,直到用户单击第1帧中的某个按钮。如何停止加载Flash文件(.swf)(ActionScript 3)
我不想使用外部文件。我只想Flash Player首先下载10KB,显示第1帧,然后停止,直到用户单击按钮。
这有可能吗?
据我所知,没有办法停止在swf文件中的特定点加载Flash Player。
是否有任何特别原因要避免使用外部文件?因为我会建议一个小的10KB preloader swf。一旦用户点击该按钮,它将使用flash.net.URLLoader加载主要的10MB swf文件。
我不认为这是可能的。您可以确保用户无法单击第1帧中的按钮,然后查看movieclip的framesLoaded属性,但我认为您可以在中途停止下载片段。
Flash Player将SWF文件视为流式格式。这意味着在Flash Player下载帧#1的内容的那一刻,它将通过显示该帧上的内容并在该帧上执行该代码来处理该帧。 Flash Player将在此期间开始下载帧#2。
如果你放置一个stop();命令,那么播放将停止,但Flash Player将继续下载其余的帧。这样你可以制作一个预加载器。您在第一帧停止播放,创建一个onEnterFrame,它将监视SWF文件已加载多少,并且一旦100%继续播放。
简短的回答你的问题,不,你不能阻止Flash Player下载下面的帧,你需要使用外部的SWF文件来达到你的目的。
不使用外部文件是不可能的。要做到这一点使用外部文件只是做什么Shrill说
但更好的问题是为什么?如果第一帧是10kb,那么第一帧将准备好在加载10kb的文件时播放。
您可以等到第一帧加载并播放它(剩下的只是在后台隐式下载),然后一旦用户单击按钮,它会执行以下两项操作之一:如果其他所有内容都是已经完成,然后继续,如果没有,然后监视其余的加载过程,直到它,然后继续:)
swf文件是流式格式,没有什么错误的利用它!
我完全同意Shrill。 – 2009-04-26 19:33:27