一个简单的加载模块弹出ProgressBar 加载进度条

来源:互联网 发布:甲子网络 unity 编辑:程序博客网 时间:2024/05/01 08:05

效果图:

import mx.managers.PopUpManager;import mx.modules.IModuleInfo;import mx.modules.Module;import mx.modules.ModuleLoader;import mx.modules.ModuleManager;import mx.controls.ProgressBar;import mx.events.FlexEvent;private var myProgressBar:ProgressBar;private var _group:Group;private var m1:ModuleLoader;private function init():void{   inits("widgets/Leftbox/Disaster.swf");//模块生成swf的路径。}private function inits(_url:String):void{                m1 = new ModuleLoader();                m1.url = _url;                m1.addEventListener(FlexEvent.LOADING,popUpProgressBar);                m1.addEventListener(ModuleEvent.PROGRESS,loading);                m1.addEventListener(ModuleEvent.READY,getModule);                m1.loadModule();}private function popUpProgressBar(event:Event):void{                //制作进度条的背景图                 _group = new Group();                _group.width = 400; _group.height = 93;                                var biap:BitmapFill = new BitmapFill();                biap.source = "@Embed('icos/rightbg.png')";                var rect:Rect = new Rect();                rect.width= 400; rect.height = 93; rect.alpha = 0.8;                rect.fill  = biap;                _group.addElement(rect);                this.stage.addChild(_group);                 _group.horizontalCenter  = 0;                _group.verticalCenter = 0;                //弹出                myProgressBar = new ProgressBar();                                myProgressBar.width = 304;                myProgressBar= PopUpManager.createPopUp(group, ProgressBar, true) as ProgressBar;                myProgressBar.mode = "manual";//设置Progress的模式                                              //设置Progress的样式               myProgressBar.labelPlacement = "bottom";                  myProgressBar.setStyle("textAlign","center");                                myProgressBar.setStyle("barColor",0x12b9bb);                                myProgressBar.setStyle("trackColors",["white","haloSilver"]);                myProgressBar.setStyle("color",0x333333);                myProgressBar.setStyle("labelWidth", myProgressBar.width);                myProgressBar.setStyle("trackHeight",15);                myProgressBar.setStyle("fontWeight","normal");                myProgressBar.setStyle("fontFamily","宋体");                 PopUpManager.centerPopUp(myProgressBar);                                myProgressBar.x = (this.stage.width - myProgressBar.width)/2;                myProgressBar.y = (this.stage.height - myProgressBar.height)/2; }private function loading(event:ProgressEvent):void{                myProgressBar.setProgress(event.bytesLoaded, event.bytesTotal);                 myProgressBar.label="模块已加载"+Math.round((event.bytesLoaded * 100 / event.bytesTotal)) + "%";}private function getModule(event:ModuleEvent):void{                //清除                this.stage.removeChild(_group);                PopUpManager.removePopUp(myProgressBar);}