AS3.0 纯代码制作loading (2010-05-03 12:35:03)

AS3.0 纯代码制作loading (2010-05-03 12:35:03)转载
标签: it	
//创建一个动态文本用于显示进度条;
var mytext:TextField=new TextField();
//设置文本框的样式
mytext.autoSize=TextFieldAutoSize.CENTER;
mytext.selectable=false;
mytext.background=true;
//格式化文本框
var myformat:TextFormat=new TextFormat();
myformat.font="Verdana";
myformat.size=10;
mytext.defaultTextFormat=myformat;
//设置文本的位置
mytext.x=stage.stageWidth/2-mytext.width/2;
mytext.y=stage.stageHeight/2-mytext.height/2;
//加入场景
addChild(mytext);
//创建一个显示对象,用于存储loading的矩形子对象;
var loadsp:Sprite=new Sprite();
//设置显示对象位置,并加入场景;
loadsp.x=200;
loadsp.y=150;
addChild(loadsp);
//创建一个蓝色矩形,作为背景,表示进度的全部长度;
var sp1:Shape=new Shape();
//绘制矩形;
sp1.graphics.beginFill(0x000ff);
sp1.graphics.drawRect(0,0,150,18);
sp1.graphics.endFill();
//加入显示对象loadsp;
loadsp.addChild(sp1);
//创建第二个黄色矩形,用于表示当前的进度;
var sp2:Shape=new Shape ();
//绘制黄色矩形;
sp2.graphics.beginFill(0xffff00);
sp2.graphics.drawRect(0,0,148,16);
sp2.graphics.endFill();
//加入显示对象loadsp;
loadsp.addChild(sp2);
//在当前根路径root的loaderInfo载入信息上注册加载完成和加载中事件;
this.root.loaderInfo.addEventListener(Event.COMPLETE,loadComplete);
this.root.loaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);
//创建加载完成事件处理函数
function loadComplete(event:Event):void {
 //移除创建的显示对象
 removeChild(mytext);
 removeChild(loadsp);
 //播放计入下一场景;
 play();
}
//创建加载过程中的事件处理函数;
function showProgress(event:ProgressEvent):void {
 //计算进度值,bytesLoaded表示已经加载的字节数,bytesTotal表示总共的字节数;
 var p:Number=event.bytesLoaded/event.bytesTotal;
 //将进度条转化为百分比;
 var n:Number=Math.round(p*100);
 //在文本框上显示进度值;
 mytext.text="loading"+n.toString()+"%";
 //缩放sp2以显示进度的值;
 sp2.scaleX=p;
}
stop();

//loading外部swf
var request:URLRequest=new URLRequest("http://upload.meqzone.com/up3/1292309070x1933334996.swf");

var loader:Loader = new Loader();


loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);



function progressHandler(event:ProgressEvent):void {

	trace("欢迎观看浩浩flash,已加载: "+Math.round(event.bytesLoaded/event.bytesTotal * 100)+"%");
	txt.text="欢迎观看浩浩flash,已加载: "+Math.round(event.bytesLoaded/event.bytesTotal*100)+"%";
}

function completeHandler(event:Event):void {

	loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);

	addChild(loader);

}



loader.load(request);

 

你可能感兴趣的:(load)