首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex加载module时分显示进度条(转)

2012-09-20 
Flex加载module时候显示进度条(转)????? 在加载module的时候不能使用重写的SparkDownloadProgressBar或Dow

Flex加载module时候显示进度条(转)

????? 在加载module的时候不能使用重写的SparkDownloadProgressBar或DownloadProgressBar,在module中不支持preloader属性,这样就要使用progressbar来实现显示进度条了。这样在加载器后面用一个progressbar,一定要放在加载器后面,不然显示的时候会被ModuleLoader 遮挡住。moduleloader有3个事件,loading为正在加载中,progress为进度事件,ready为加载完成。mode="manual";这个属性一定要加上,不然不显示进度,百分比出不来。

代码可以这样
<mx:script>
? ?? ?public function loading(e:ModuleEvent):void{
???????????????????myProgressBar.setProgress(e.bytesLoaded,e.bytesTotal);
???????????????????myProgressBar.label="模块已加载"+Math.round((e.bytesLoaded * 100 / e.bytesTotal)) + "%";
? ?? ?? ?? ? }
</mx:script>
<mx:ModuleLoader ready="myProgressBar.visible=false" loading="myProgressBar.visible=true" progress="loading(event)"??id="module" />
<mx:ProgressBar id="myProgressBar" horizontalCenter="0" verticalCenter="0"?mode="manual"? width="200"/>

?

还可以如下操作:

??private var myProgressBar:ProgressBar;
???
???private function init():void{
????m1.url="MyModule.swf";
????m1.addEventListener(ModuleEvent.READY,getModule);
???}
???
???private function getModule(event:ModuleEvent):void{
????(m1.child as MyModule).getModuleSuccess();
???}
???
???private function loading(event:ProgressEvent):void{
????myProgressBar.setProgress(event.bytesLoaded, event.bytesTotal);?
????myProgressBar.label="模块已加载"+Math.round((event.bytesLoaded * 100 / event.bytesTotal)) + "%";
???}
???
???private function removeProgressBar(event:Event):void{
????//清除
????PopUpManager.removePopUp(myProgressBar);
???}
???
???private function popUpProgressBar(event:Event):void{
????//弹出
????myProgressBar= new ProgressBar();
????myProgressBar.mode="manual";
????myProgressBar= PopUpManager.createPopUp(this, ProgressBar, true) as ProgressBar;?
????PopUpManager.centerPopUp(myProgressBar);?

??? myProgressBar.x = (this.stage.width - myProgressBar.width)/2;
????myProgressBar.y = (this.stage.height - myProgressBar.height)/2;
???}
???
??]]>
?</fx:Script>
?
?<mx:ModuleLoader id="m1" width="100%" height="100%" loading="popUpProgressBar(event)" progress="loading(event)" ready="removeProgressBar(event)"/>

热点排行