一个简单的加载模块弹出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);}