读书人

AS3.0 纯代码打造loading (2010-05-03

发布时间: 2012-09-15 19:09:28 作者: rapoo

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外部swfvar 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);

?

读书人网 >Web前端

热点推荐