package { import flash.display.DisplayObject; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.MovieClip; import flash.display.StageQuality; import flash.display.StageScaleMode; import flash.events.Event; import flash.utils.getDefinitionByName; [SWF(width="400", height="600", frameRate="40", backgroundColor="#FFFFFF")] public class Preloader extends MovieClip{//---------------------------------------------------------------------------------------// Properties//--------------------------------------------------------------------------------------- private var logoClass:Class; private var logoClassInstance:Object; //---------------------------------------------------------------------------------------// Constructor//--------------------------------------------------------------------------------------- public function Preloader() { stop(); stage.showDefaultContextMenu=false; stage.scaleMode = StageScaleMode.NO_SCALE; stage.quality=StageQuality.LOW; addEventListener(Event.ENTER_FRAME,mainloop); }//---------------------------------------------------------------------------------------// Private//--------------------------------------------------------------------------------------- private function mainloop(e:Event):void{ if(framesLoaded >= 2){ nextFrame(); triggerLogo(); removeEventListener(Event.ENTER_FRAME,mainloop); addEventListener(Event.ENTER_FRAME,mainloop2); } }//--------------------------------------------------------------------------------------- private function mainloop2(e:Event):void{ if(framesLoaded == totalFrames){//It's all loaded, has the logo finished ? if(logoClassInstance.animCompletedFlag==true){ removeEventListener(Event.ENTER_FRAME,mainloop2); nextFrame(); triggerGame(); } } }//--------------------------------------------------------------------------------------- private function triggerLogo():void{ logoClass = getDefinitionByName("PreloaderLogo") as Class; if(logoClass) { logoClassInstance = new logoClass(); addChild(logoClassInstance as DisplayObject); } }//--------------------------------------------------------------------------------------- private function triggerGame():void{ var main:Class = getDefinitionByName("Main") as Class; if(main) { var app:Object = new main(); addChild(app as DisplayObject); app.waiting(); //Call the singleton to kick it all off logoClassInstance.dispose(); } }//--------------------------------------------------------------------------------------- }}
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; public class PreloaderLogo extends Sprite {//---------------------------------------------------------------------------------------// Assets//--------------------------------------------------------------------------------------- [Embed("/_assets/assets.swf",symbol="gywLogoMC")] private var gywLogoMC:Class;//---------------------------------------------------------------------------------------// Properties//--------------------------------------------------------------------------------------- private var gywLogo:MovieClip; public var animCompletedFlag:Boolean=false; //---------------------------------------------------------------------------------------// Constructor//--------------------------------------------------------------------------------------- public function PreloaderLogo(){ gywLogo=new gywLogoMC(); waiting(); }//--------------------------------------------------------------------------------------- public function waiting():void{ addEventListener(Event.ADDED_TO_STAGE,logoAddedToStage); }//--------------------------------------------------------------------------------------- public function dispose():void{ stage.removeChild(gywLogo); }//---------------------------------------------------------------------------------------// Private//--------------------------------------------------------------------------------------- private function logoAddedToStage(e:Event):void{ stage.addChild(gywLogo); gywLogo.gotoAndPlay(1); gywLogo.addEventListener(Event.ENTER_FRAME,waitingToEnd); }//--------------------------------------------------------------------------------------- private function waitingToEnd(e:Event):void{ if(gywLogo.currentFrame==gywLogo.totalFrames){ gywLogo.gotoAndStop(gywLogo.totalFrames); gywLogo.removeEventListener(Event.ENTER_FRAME,waitingToEnd); animCompletedFlag=true; } }//--------------------------------------------------------------------------------------- }}
Powered by: newtelligence dasBlog 1.9.6264.0
Disclaimer The opinions expressed herein are our personal opinions and do not represent our customer's view in anyway.
© Copyright 2009, gaming your way
E-mail