package { import flash.display.*; import flash.events.*; import flash.utils.getTimer; public class Airplane extends MovieClip { private var dx:Number; private var lastTime:int; // function Airplane takes three arguments & sets this.x position & scale based on value of side then sets y = altitude // added event listener that calls function movePlane public function Airplane(side:String, speed:Number, altitude:Number) { if (side == "left") { this.x = -50; dx = speed; this.scaleX = -1; } else if (side == "right") { this.x = 600; dx = -speed; this.scaleX = 1; } this.y = altitude; this.gotoAndStop(Math.floor(Math.random()*5+1)); addEventListener(Event.ENTER_FRAME,movePlane); lastTime = getTimer(); } // function movePlane moves plane & deletes once conditions are met (off screen?) public function movePlane(event:Event) { var timePassed:int = getTimer()-lastTime; lastTime += timePassed; this.x += dx*timePassed/1000; if ((dx < 0) && (x < -50)) { deletePlane(); } else if ((dx > 0) && (x > 600)) { deletePlane(); } } // function planeHit removes event listener & object (movieclip) from stage then calls function gotoAndPlay passing string "explode" as argument public function planeHit() { removeEventListener(Event.ENTER_FRAME,movePlane); MovieClip(parent).removePlane(this); gotoAndPlay("explode"); } // function deletePlane removes event listener & object (movieclip) from stage public function deletePlane() { removeEventListener(Event.ENTER_FRAME,movePlane); MovieClip(parent).removePlane(this); parent.removeChild(this); } } }