package {
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
public class loaderTest extends Sprite
{
private var loader:Loader;
private var progress:TextField;
private var textFormat:TextFormat;
public function loaderTest()
{
textFormat = new TextFormat();
textFormat.color = "0x0000FF";
createLoader();
createProgress();
load(new URLRequest("http://www.tubo123.com/upload/ba610dd0828c9a17e8378e817ed1315a.gif"));
}
private function load(urlReq:URLRequest) :void {
loader.load(urlReq);
if(!contains(progress)) {
addChild(progress);
}
}
private function createLoader():void {
loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
loader.contentLoaderInfo.addEventListener(Event.INIT,initHandler);
}
private function createProgress():void {
progress = new TextField();
progress.autoSize = TextFieldAutoSize.LEFT;
progress.border = true;
progress.background = true;
progress.selectable = false;
progress.text = "LOADING ... ";
progress.setTextFormat(textFormat);
}
/**
* loader init
**/
private function initHandler(e:Event) :void {
loader.content.width
this.addChild(loader.content);
}
/**
* when progress return,run it;
**/
private function progressHandler(e:ProgressEvent) :void {
var r:Number = Math.floor(e.bytesLoaded/e.bytesTotal * 100);
progress.text = "LOADING: " + r + " %";//"loading:" + Math.floor(e.bytesLoaded/1024) + "/" + Math.floor(e.bytesTotal/1024) + " KB";
progress.setTextFormat(textFormat);
}
/**
* loader complete run
**/
private function completeHandler(e:Event) :void {
removeChild(progress);
}
}
}