package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getDefinitionByName;
import Preloader_Movieclip;
public class Preloader extends MovieClip {
[Embed(source="preloader.swf")]
internal var preloader_class:Class;
internal var preloader_gui:Preloader_Movieclip;
public function Preloader() {
super();
stop();
preloader_gui=new preloader_class;
addChild(preloader_gui);
addEventListener(Event.ENTER_FRAME,update,false,0,true);
}
private function update(e:Event):void {
var bl:uint=loaderInfo.bytesLoaded;
var bt:uint=loaderInfo.bytesTotal;
if(bt>0 && bl==bt) {
removeEventListener(Event.ENTER_FRAME,update);
removeChild(preloader_gui);
nextFrame();
init();//no idea why i need an init function, but it plain doesn't work otherwise
} else {
preloader_gui.preloadbar_mc.scaleX=bl/bt;
}
}
private function init():void {
var mainClass:Class = Class(getDefinitionByName("main"));
var mainMovie:Sprite = new mainClass();
addChild(mainMovie);
}
}
}