package { import flash.display.StageScaleMode; import flash.display.StageAlign; import flash.display.Sprite; import flash.display.Loader; import flash.text.TextField; import flash.net.URLRequest; import flash.events.Event; import flash.events.ProgressEvent; public class WSLoader extends Sprite { private var __status:TextField; private var __loader:Loader; private static const WIDTH:Number = 350.0; public function WSLoader():void { __createChildren(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener(Event.RESIZE,__onStageResized,false,0,true); addEventListener(Event.ENTER_FRAME,__onEnterFrame,false,0,true); } private function __createChildren():void { __status = new TextField; __status.width = WIDTH; __status.height = 20.0; addChild(__status); } private function __load():void { __status.htmlText = " Website loading(achieved 0%)... please wait! "; __loader = new Loader; __loader.contentLoaderInfo.addEventListener(Event.INIT,__onWSLoaded,false,0,true); __loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,__onWSLoading,false,0,true); stage.addChild(__loader); __loader.load(new URLRequest("Ici_URL_de_mon_site_web.swf")); } private function __onEnterFrame(event:Event):void { removeEventListener(Event.ENTER_FRAME,__onEnterFrame,false); __load(); __onStageResized(null); } private function __onStageResized(event:Event):void { //replace all; var w:Number stage.stageWidth, h:Number stage.stageHeight; __status.x = (w-WIDTH)/2.0; __status.y = (h-20.0)/2.0; } private function __onWSLoading(event:ProgressEvent):void { var percent:Number = event.bytesLoaded/event.bytesTotal; __status.htmlText = " Website Loading(achieved "+int(percent*100.0)+"%)... please wait! "; } private function __onWSLoaded(event:Event):void { __loader.contentLoaderInfo.removeEventListener(Event.INIT,__onWSLoaded,false); __loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,__onWSLoading,false); __status.htmlText = "Website loaded!"; __finalize(); } public function __finalize():void { stage.removeEventListener(Event.RESIZE,__onStageResized,false); removeEventListener(Event.ENTER_FRAME,__onEnterFrame,false); removeChild(__status);__status = null; __loader = null; parent.removeChild(this); } } }