2010-01-07 90 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