2009-01-19 19 views
0

我有一個小型的Flash文件,它只是加載並顯示一個縮放圖像以適應內容區域。我們使用這些與一個javascript畫廊,所以我們有一個html頁面上的幾個實例(嵌入swfObject)我一直在使用MovieClipLoader加載jpgs,但它不再起作用。MovieClipLoader失敗(與緩存有關)

我們更新了服務器,據我所知只有相關的事情發生了變化,與緩存相關。以前所有的圖像和swfs總是被重新加載。現在他們應該從緩存中加載。

我可以從firebug看到swf實際上正在加載jpg它只是不顯示任何東西。這發生在許多瀏覽器/操作系統/閃存插件組合上。有時會顯示一些圖像,有時甚至沒有。

moviecliploader事件處理程序(onloadinit,onloaderror)中的代碼永遠不會運行。

任何想法如何得到這個工作,將不勝感激。

回答

0

我找到了解決方案。

原來這個問題與緩存有關,但與MovieClipLoader無關。

我縮放基於Stage.width和Stage.height的加載圖像。我發現閃光燈有時會在短時間內產生0和0的高度。即使舞臺上有東西可見,也可能發生這種情況。以前這不是一個問題,因爲一旦圖像加載後尺寸是正確的。現在,當圖像來自高速緩衝存儲器的尺寸是0有時

的解決方案是檢查階段尺寸在的onEnterFrame處理程序,並僅與裝載繼續進行的情況下的尺寸是> 0

0

我在使用MovieClipLoader的多個實例時遇到了麻煩。與你類似,一些裝載機似乎超時,從不顯示它們應該加載的映像。我被告知這是由於HTTP同時線程限制,據說每次下載兩次(但從來沒有得到確認)。

如果您在頁面上使用多個swf文件,而不是一個主要的flash加載它們,這尤其如此。

我已經通過在Flash中創建一個簡單的排隊系統解決了這個問題,最多兩個movieClipLoaders會同時加載。每當完成時,它就觸發下一次下載,等等,直到所有下載都被處理完。這工作得很好。

0

我無法使用單個主閃光燈。我們需要爲每個圖像分別使用閃存加載器。據我所知,無法創建一個從1到N閃存加載器處理的排隊系統。

經過大量測試後,我發現幀1中的動作完全沒有在閃存加載時運行,因此這似乎並不是MovieClipLoader錯誤。我添加了一個簡單的代碼在舞臺上繪製藍色線條到第一幀,並且當加載失敗時線條完全不顯示。