-
Notifications
You must be signed in to change notification settings - Fork 1
/
Power.as
executable file
·80 lines (80 loc) · 2.78 KB
/
Power.as
1
package { import flash.display.*; import flash.events.*; import flash.utils.Timer; import flash.utils.getDefinitionByName; class Power extends MovieClip { var powerAr:Array = ["Shield","Health","Machine","Multi","Lazer","Fire"]; public var per:Number; public var reduceVal:Number; var mainClass:MovieClip; public function Power():void { mainClass = (this.root as MovieClip); per = 1; reduceVal = 1; //var timer:Timer = new Timer(1000); //timer.addEventListener(TimerEvent.TIMER,addChild_Power); //timer.start(); } public function calculate_Power():void{ var levelNo:Number = mainClass.levelNo; var randomVal:Number = Math.floor(Math.random()*5); if (randomVal == 3) { if (levelNo!=1) { addChild_Power(levelNo); } } } public function addChild_Power(par):void { //trace("Working"); var ship_mc:MovieClip = (mainClass.main_mc.holder_mc.getChildByName("ship_mc") as MovieClip); //trace((mainClass.main_mc.holder_mc.getChildByName("ship_mc") as MovieClip)+" : ship_mc"); var s:String="powerClip"; var _Class:Class=getDefinitionByName(s) as Class; var powerClip_mc:MovieClip=new _Class; this.addChild(powerClip_mc); //var powerClip_mc:powerClip = new powerClip(); powerClip_mc.x = stage.stageWidth/2; powerClip_mc.y = -10; var randomVal:Number = Math.ceil(Math.random()*par-1); powerClip_mc.gotoAndStop(powerAr[randomVal]); //trace(powerAr[randomVal]+" : "+randomVal); powerClip_mc.name = powerAr[randomVal]; powerClip_mc.xmov = ((Math.random()*3))-1; powerClip_mc.ymov = Math.ceil(Math.random()*4); powerClip_mc.addEventListener(Event.ENTER_FRAME,doit); powerClip_mc.addEventListener(Event.REMOVED_FROM_STAGE,removed); powerClip_mc.per = 1; powerClip_mc.reduceVal = 1; ship_mc.clipAr.push(powerClip_mc); } private function removed(e:Event):void { e.target.removeEventListener(Event.ENTER_FRAME , doit); } private function doit(e:Event):void { var mc_:MovieClip = (e.target.parent as MovieClip); if (mc_!=null) { if (e.target.per <= 0) { mainClass.main_mc.powerRemoved(e.target); if (mc_!=null) { e.target.removeEventListener(Event.ENTER_FRAME , doit); mc_.removeChild(e.target as MovieClip); } } else { e.target.x +=e.target.xmov; e.target.y +=e.target.ymov; if (e.target.y>stage.stageHeight-80 || e.target.x>stage.stageWidth || e.target.x<0) { if (mc_!=null) { var ship_mc:MovieClip = (mainClass.main_mc.holder_mc.getChildByName("ship_mc") as MovieClip); ship_mc.clipAr.splice(ship_mc.clipAr.indexOf(e.target),1); e.target.removeEventListener(Event.ENTER_FRAME , doit); mc_.removeChild(e.target as MovieClip); } } } }else{ e.target.removeEventListener(Event.ENTER_FRAME , doit); } } }}