内容:AS3.0制作Loading加载进度条时间:2011-12-23 16:12 作者:小刚刚 点击: 214 次 var request:URLRequest = new URLRequest("flashrek.swf"); //对要加载的文件创建一个URLRequest对象 var loader:Loader = new Loader(); //创建一个载体对象 loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress); 对载体加载过程进行监听,并处理对应的事件 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); function loadProgress(event:ProgressEvent):void { var percentLoaded:Number = event.bytesLoaded/event.bytesTotal; percentLoaded = Math.round(percentLoaded * 100); trace("Loading: "+percentLoaded+"%"); } function loadComplete(event:Event):void { trace("Complete"); } loader.load(request); addChild(loader); 这里要注意loader的load方法只接受URLRequest对象作为参数;另外就是ProgressEvent类,比较简单,看帮助就好了。
这里只是LOAD外部对象,如何做自身LOADING还要再研究研究,等有了答案再更新。 更新自身Loading stop(); import flash.display.LoaderInfo; import flash.events.ProgressEvent; import flash.text.TextField; var loadText:TextField=new TextField(); addChild(loadText); this.loaderInfo.addEventListener(ProgressEvent.PROGRESS,myloadmovie); this.loaderInfo.addEventListener(Event.COMPLETE,myover); function myloadmovie(event:ProgressEvent):void { var hl:Number=event.bytesLoaded/event.bytesTotal; var n:Number=Math.round(hl*100); loadText.text=n+"%"; } function myover (event:Event):void { this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS,myloadmovie); nextFrame(); } 下面是另一种自身loading的方法 stop(); import flash.display.LoaderInfo; import flash.events.ProgressEvent; import flash.text.TextField; var loadText:TextField=new TextField(); loadText.x=220; loadText.y=200; addChild(loadText); myload.addEventListener(Event.ENTER_FRAME,onEnterFramee); function onEnterFramee (event:Event) { if (framesLoaded==totalFrames) { trace(1); myload.removeEventListener(Event.ENTER_FRAME,onEnterFramee); nextFrame(); } else { var percent:Number=root.loaderInfo.bytesLoaded/root.loaderInfo.bytesTotal; var m:Number=Math.round(percent*100); myload.gotoAndStop(m); loadText.text=m+"%"; } } //myload为场景中预设的loading动画的MC名字
|