/ Published in: ActionScript 3
Simple preloader than displays overall progress and bytes loaded. Main timeline and movie to be loaded must be passed through in order for it to work. eg. var preloader:preLoader = new preLoader(this, "myfile.swf");
Expand |
Embed | Plain Text
package { import flash.display.Loader; import flash.display.MovieClip; import flash.events.Event; import flash.events.ProgressEvent; import flash.net.URLRequest; /** * ... * @author [email protected] */ public class preLoader extends MovieClip { private var timeline:MovieClip; private var mainLoader:Loader; public function preLoader(mainTimeline:MovieClip, path:String) { trace("preloading"); timeline = mainTimeline; mainLoader = new Loader(); var swfPath:URLRequest = new URLRequest(path); mainLoader.load(swfPath); mainLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, getProgress); mainLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); } private function getProgress(event:ProgressEvent) { var currentBytes:Number = event.bytesLoaded; var total:Number = event.bytesTotal; var progress:Number = Math.floor((currentBytes * 100) / total); trace("progress : " + progress); trace("total : " + total); timeline.loadInfo.text = currentBytes.toString() + "/" + total.toString() + " | " + progress.toString() + "%"; //loadInfo is a textBox on the main timeline } private function onComplete(event:Event) { var mainContent:MovieClip = MovieClip(event.target.content); trace("event.target.content : " + event.target.content); timeline.addChild(mainContent); timeline.removeChild(timeline.loadInfo); } } }
You need to login to post a comment.
