假設我有一個大的.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