package
{
import flash.display.*;
import flash.events.*;
import flash.utils.getDefinitionByName;
[SWF(frameRate = '20', backgroundColor = '0x000000', width = '433', height = '400')]
public class PreLoaderBar extends MovieClip
{
private var theClass:String;
private var sw:Number;
private var sh:Number;
private var color:uint;
public function PreLoaderBar(colo:uint = 0x00FF00, w:Number = 433, h:Number = 400, c:String = "tadsBlackJack")
{
this.theClass = c; this.sw = w; this.sh = h; this.color = colo;
addEventListener(Event.ENTER_FRAME, checkFrame);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
var s:Sprite = new Sprite();
var sl:Sprite = new Sprite();
sl.graphics.lineStyle(1, 0xFFFFFF); sl.graphics.drawRect(0,0,100,20);
s.graphics.beginFill(color); s.graphics.drawRect(0,0,0,15);
sl.x = sw/2 - 50;
sl.y = sh/2;
sl.name = "bar";
s.x = 0;
s.y = 2.5;
sl.addChild(s);
addChild(sl);
}
private function progress(e:ProgressEvent):void {
var p:int = int((e.bytesLoaded/e.bytesTotal)*100);
with( Sprite(Sprite(getChildByName("bar")).getChildAt(0)).graphics ) {
clear(); beginFill(color); drawRect(0,0,p,15);
}
}
private function checkFrame(e:Event):void
{
if (currentFrame == totalFrames)
{
removeEventListener(Event.ENTER_FRAME, checkFrame);
begin();
}
}
private function begin():void
{
stop();
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);
for (var i:int = 0; i < numChildren; i++) {
removeChildAt(i);
}
var g:Class = getDefinitionByName(theClass) as Class;
stage.addChild(new g());
}
}
}