效果图:
![](https://img-my.csdn.net/uploads/201209/18/1347950264_8297.png)
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);
}