2010-01-07 86 views
1

我可以將ProgressEvent偵聽器添加到舞臺上嗎? 我在Flex中輸入時沒有在任何自動完成選項中看到它。 人們通常會做什麼來獲得整個主要跑步者加載進度的進度讀數?AS3:ProgressEvent的主舞臺監聽器?

我嘗試以下方法,這是我希望看到的ProgressEvent彈出選項:

stage.addEventListener(

謝謝...

回答

3

嘗試將其添加到loaderInfo

alt text

類似:

this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); 

此外,如果您使用的框架,你或許應該延長DownloadProgressBar。 我記得this old tutorial,但一定有很多在線。

+0

我應該提到,我想,因爲只有保持這個項目。我將使用loaderInfo查看選項。在這種情況下,首選的AS3方法是否仍然使用主SWF加載容器來加載主應用程序運行器SWF,然後編譯它? – jml 2010-01-07 23:53:05

+1

沒有flex框架?那麼它是loaderInfo,如果你想監聽主swf的進度,並且用Loader對象的containerLoaderInfo – 2010-01-08 00:51:28

+0

太棒了;謝謝您的幫助。 – jml 2010-01-08 01:16:49

1

我有一個新的問題:

我用下面的代碼顯示下載我的網站內容的進展:

public function mainProgress(e:ProgressEvent):void 
    { 
     var w:Number = e.bytesLoaded/e.bytesTotal; 
     _mainprog.graphics.clear(); 
     _mainprog.graphics.beginFill(0x000000); 
     _mainprog.graphics.drawRect(0, 0, w * stage.stageWidth, 50); 
     _mainprog.graphics.endFill(); 
    } 

但它似乎並沒有工作。 會發生什麼是loaderInfo對象認爲該網站已加載之前,我實際上已準備好顯示任何東西。所以最終發生的事情(我認爲)是網站加載,加載進程在初始頁面的圖形完全加載之前消失,然後在loaderInfo對象完成和實際圖形出現之間存在延遲。

以前有沒有其他人有過這個問題?

謝謝...

+0

嗨jml,如果我有這個權利,你有一個swf是你的網站,你嵌入資產,mainProgress加載器添加到this.loaderInfo,並且沒有Loader對象?我的猜測是:1.你的裝載機可能會出現一些比例的遲點(比如說30),如果是這種情況2.預裝載程序看起來不錯,顯示一個從0到舞臺寬度的矩形,但是在100%以及屏幕上顯示的實際圖形。我關門了嗎? – 2010-01-15 21:21:01

+0

我定義了一些圖形來繪製 - 矩形,textfields,基於階段參數計算的xy座標,傳遞的字符串,元素的顏色等,用Tweener()添加一個補間,Tweener()的onComplete創建一些更精靈/文本元素,添加圖形元素的監聽器,添加舞臺監聽器,然後添加各種各樣的孩子到舞臺上。這應該都需要一些時間來加載。我有一個應該出現的進度條,當這一切都發生時,然後當它發生時,圖形應該被初始化並添加到舞臺上,然後Tweens應該發生。 – jml 2010-01-15 21:51:12

+0

在最後一句話中,我的意思是說「......所有這一切都在建立,然後當它發生......」 – jml 2010-01-16 08:35:13