Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.accessibility.ISearchableText;
- import flash.display.MovieClip;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.utils.getTimer;
- import flash.utils.Timer;
- /**
- * ...
- * @author Juneyee Oh
- */
- public class Y2650 extends MovieClip
- {
- //Declare variables here
- //Declare Arrays
- public var creep1Array:Array = new Array;
- public var creep2Array:Array = new Array;
- public var tower1BulletArray:Array = new Array;
- private var tower1Array:Array = new Array;
- //Declare buttons
- var buttonCreep1:btnCreep1
- var buttonCreep2:btnCreep2
- //Declare variables for currency
- var money:int
- var alienMeat:int
- //Declare variables for upgrades
- var creep1Level:int = 1;
- var creep2Level:int = 1;
- //Declare variables for creep stats
- var creep1HP:int
- var xCreep1Speed:Number = 3;
- var yCreep1Speed:Number = 1.25;
- var creep2HP:int
- var xCreep2Speed:Number = 4;
- var yCreep2Speed:Number = 0.75;
- //Declare variables for game statuses
- var gamePaused:Boolean
- public var currentLevelFrame:int
- public var currentLevelSeconds:int
- public var currentLevelMinutes:int
- //Declare variables for level statuses and information
- var level1Clear:Boolean
- var level1Score:Boolean
- var level2Clear:Boolean
- var level2Score:Boolean
- //Declare variables which affect AI
- var creepDeaths:int
- //Declare variables for alien towers
- var tower1HP:int
- var tower1Damage:int
- var tower1Weakened:Boolean
- var laser1Speed:Number = 10;
- var tower2HP:int
- var tower2Damage:int
- var tower2Weakened:Boolean
- /*Use this code to change scene...
- gotoAndStop(1, 'FillinSceneName');
- */
- public function Y2650()
- {
- gotoAndStop(1, 'mainMenu');
- btnStartGame.addEventListener(MouseEvent.CLICK, levelSelect1);
- alienMeat = 0;
- level1Clear = false;
- }
- private function clearLevel():void
- {
- stage.removeEventListener(Event.ENTER_FRAME, update);
- stage.removeChild(buttonCreep1);
- stage.removeChild(buttonCreep2);
- for (var i = creep1Array.length - 1; i >= 0; i--)
- {
- removeChild(creep1Array[i]);
- creep1Array.splice(i, 1);
- //trace ("Creep1 Removed");
- }
- for (var j = creep2Array.length - 1; j >= 0; j--)
- {
- removeChild(creep2Array[j]);
- creep2Array.splice(j, 1);
- //trace ("Creep2 Removed");
- }
- for (var k = tower1Array.length - 1; k >= 0; k--)
- {
- removeChild(tower1Array[k]);
- tower1Array.splice(k, 1);
- }
- for (var l = tower1BulletArray.length - 1; l >= 0; l--)
- {
- tower1BulletArray[l].removeEventListener(Event.ENTER_FRAME, laser1Handler);
- stage.removeChild(tower1BulletArray[l]);
- tower1BulletArray.splice(0, 1);
- }
- }
- private function upgradeScreen(e:MouseEvent):void
- {
- gotoAndStop(1, 'upgrades1');
- btnUpgradeCreep1.addEventListener(MouseEvent.CLICK, upgradeCreep1);
- btnBack.addEventListener(MouseEvent.CLICK, levelSelect1);
- }
- private function levelSelect1(e:MouseEvent):void
- {
- gotoAndStop(1, 'levelSelect1');
- btnLevel1.addEventListener(MouseEvent.CLICK, level1);
- btnLevel2.addEventListener(MouseEvent.CLICK, level2);
- btnUpgrade1.addEventListener(MouseEvent.CLICK, upgradeScreen);
- if (level1Clear == true)
- {
- lv1Clear.alpha = 100;
- }
- else if (level1Clear == false)
- {
- lv1Clear.alpha = 0;
- }
- }
- private function upgradeCreep1(e:MouseEvent):void
- {
- if (creep1Level < 10)
- {
- creep1Level += 1;
- trace(creep1Level);
- }
- }
- private function level2(e:MouseEvent):void
- {
- gotoAndStop(1, 'level2');
- //Initialise variables
- //Variables for Creep 1
- buttonCreep1 = new btnCreep1;
- stage.addChild(buttonCreep1);
- buttonCreep1.x = 0;
- buttonCreep1.y = 600;
- //Variables for Creep 2
- buttonCreep2 = new btnCreep2;
- stage.addChild(buttonCreep2);
- buttonCreep2.x = 100;
- buttonCreep2.y = 600;
- //Arrays for Creeps
- creep2Array = new Array;
- creep1Array = new Array;
- //Arrays for towers
- tower1Array = new Array;
- tower1BulletArray = new Array;
- //PLACE TOWER POSITIONS HERE
- var tower1New1:MovieClip = new mcTower1;
- tower1New1.x = 313;
- tower1New1.y = 340;
- tower1Array.push(tower1New1);
- MovieClip(root).addChild(tower1New1);
- //
- var tower1New2:MovieClip = new mcTower1;
- tower1New2.x = 590;
- tower1New2.y = 340;
- tower1Array.push(tower1New2);
- MovieClip(root).addChild(tower1New2);
- //
- var tower1New3:MovieClip = new mcTower1;
- tower1New3.x = 466;
- tower1New3.y = 180;
- tower1Array.push(tower1New3);
- MovieClip(root).addChild(tower1New3);
- //
- //Other Variables
- money = 500;
- gamePaused = false;
- //Event Listeners
- stage.addEventListener(Event.ENTER_FRAME, update);
- buttonCreep1.addEventListener(MouseEvent.CLICK, spawnCreep1Lv1);
- buttonCreep2.addEventListener(MouseEvent.CLICK, spawnCreep2Lv1);
- btnBack.addEventListener(MouseEvent.CLICK, exitLevel);
- btnPause.addEventListener(MouseEvent.CLICK, pauseGame);
- btnResume.addEventListener(MouseEvent.CLICK, resumeGame);
- }
- private function level1(e:MouseEvent):void
- {
- gotoAndStop(1, 'level1');
- //Initialise variables
- //Variables for Creep 1
- buttonCreep1 = new btnCreep1;
- stage.addChild(buttonCreep1);
- buttonCreep1.x = 0;
- buttonCreep1.y = 600;
- //Variables for Creep 2
- buttonCreep2 = new btnCreep2;
- stage.addChild(buttonCreep2);
- buttonCreep2.x = 100;
- buttonCreep2.y = 600;
- //Arrays for Creeps
- creep2Array = new Array;
- creep1Array = new Array;
- //Arrays for towers
- tower1Array = new Array;
- tower1BulletArray = new Array;
- //PLACE TOWER POSITIONS HERE
- var tower1New1:MovieClip = new mcTower1;
- tower1New1.x = 313;
- tower1New1.y = 340;
- tower1Array.push(tower1New1);
- MovieClip(root).addChild(tower1New1);
- //
- var tower1New2:MovieClip = new mcTower1;
- tower1New2.x = 590;
- tower1New2.y = 340;
- tower1Array.push(tower1New2);
- MovieClip(root).addChild(tower1New2);
- //
- var tower1New3:MovieClip = new mcTower1;
- tower1New3.x = 466;
- tower1New3.y = 180;
- tower1Array.push(tower1New3);
- MovieClip(root).addChild(tower1New3);
- //
- //Other Variables
- money = 500;
- gamePaused = false;
- currentLevelMinutes = 0;
- currentLevelSeconds = 0;
- //Event Listeners
- stage.addEventListener(Event.ENTER_FRAME, update);
- buttonCreep1.addEventListener(MouseEvent.CLICK, spawnCreep1Lv1);
- buttonCreep2.addEventListener(MouseEvent.CLICK, spawnCreep2Lv1);
- btnBack.addEventListener(MouseEvent.CLICK, exitLevel);
- btnPause.addEventListener(MouseEvent.CLICK, pauseGame);
- btnResume.addEventListener(MouseEvent.CLICK, resumeGame);
- stage.addEventListener(MouseEvent.CLICK, clickTower1);
- //This code stops the execution of selected click events.
- e.stopPropagation();
- }
- private function clickTower1(e:MouseEvent):void
- {
- for each (var tower1:mcTower1 in tower1Array)
- {
- var newLaser1:mcLaser1 = new mcLaser1();
- newLaser1.rotation = tower1.rotation;
- newLaser1.x = tower1.x + Math.cos(newLaser1.rotation * Math.PI / 180) * 40;
- newLaser1.y = tower1.y + Math.sin(newLaser1.rotation * Math.PI / 180) * 40;
- newLaser1.addEventListener(Event.ENTER_FRAME, laser1Handler);
- tower1BulletArray.push(newLaser1);
- tower1BulletArray[tower1BulletArray.length - 1].addEventListener(LaserEvent.REMOVE_THIS, removeLaser);
- stage.addChild(newLaser1);
- }
- }
- private function removeLaser(e:LaserEvent):void
- {
- for (var loop:uint = 0; loop < tower1BulletArrayLength; loop++)
- {
- if (tower1BulletArray[loop] == e.target)
- {
- removeChild(tower1BulletArray[loop]);
- tower1BulletArray.splice(loop, 1);
- }
- }
- }
- private function laser1Handler(e:Event):void
- {
- //Make laser move in direction of turret.
- var newLaser1:MovieClip = e.currentTarget as MovieClip;
- newLaser1.x += Math.cos(newLaser1.rotation * Math.PI / 180) * laser1Speed;
- newLaser1.y += Math.sin(newLaser1.rotation * Math.PI / 180) * laser1Speed;
- //Boundary checking
- if (newLaser1.x < -50 || newLaser1.x > 800 || newLaser1.y > 600 || newLaser1.y < -50)
- {
- newLaser1.removeEventListener(Event.ENTER_FRAME, laser1Handler);
- stage.removeChild(newLaser1);
- tower1BulletArray.splice(0, 1);
- }
- }
- private function resumeGame(e:MouseEvent):void
- {
- stage.frameRate = 6;
- gamePaused = false;
- }
- private function pauseGame(e:MouseEvent):void
- {
- gamePaused = true;
- }
- private function exitLevel(e:MouseEvent):void
- {
- stage.frameRate = 6;
- gamePaused = false;
- clearLevel();
- gotoAndStop(1, 'exitLevel');
- btnExitLevel.addEventListener(MouseEvent.CLICK, levelSelect1);
- }
- private function update(e:Event):void
- {
- //trace ("update function is working")
- creep1Lv1();
- creep2Lv1();
- tower1Fire();
- pauseControl();
- timeControl();
- updateTimeTxt();
- }
- private function updateTimeTxt():void
- {
- if (currentLevelSeconds >= 10)
- {
- timeTxt.text = "Time Elapsed = " + currentLevelMinutes + ":" + currentLevelSeconds;
- }
- else if (currentLevelSeconds < 10)
- {
- timeTxt.text = "Time Elapsed = " + currentLevelMinutes + ":0" + currentLevelSeconds;
- }
- }
- private function timeControl():void
- {
- currentLevelFrame++;
- if (currentLevelFrame >= 60)
- {
- currentLevelFrame = 0;
- currentLevelSeconds++;
- if (currentLevelSeconds >= 60)
- {
- currentLevelMinutes++;
- currentLevelSeconds = 0;
- }
- }
- }
- private function pauseControl():void
- {
- if (gamePaused == true)
- {
- btnBack.visible = true;
- btnResume.visible = true;
- btnPause.visible = false;
- stage.frameRate = 0;
- }
- else if (gamePaused == false)
- {
- stage.frameRate = 6;
- btnBack.visible = false;
- btnResume.visible = false;
- btnPause.visible = true;
- }
- }
- private function tower1Fire():void
- {
- for each (var tower1:mcTower1 in tower1Array)
- {
- tower1.tower1Update();
- }
- }
- private function creep2Lv1():void
- {
- for (var i = creep2Array.length - 1; i >= 0; i--)
- {
- if (creep2Array[i].x < 685 && creep2Array[i].y == 450)
- {
- creep2Array[i].x += xCreep2Speed;
- }
- else if (creep2Array[i].x >= 685 && creep2Array[i].y > 280)
- {
- creep2Array[i].y -= yCreep2Speed;
- }
- else if (creep2Array[i].x > 80 && creep2Array[i].y <= 280 && creep2Array[i].y >= 275)
- {
- creep2Array[i].x -= xCreep2Speed;
- }
- else if (creep2Array[i].x <= 80 && creep2Array[i].y > 125)
- {
- creep2Array[i].y -= yCreep2Speed;
- }
- else if (creep2Array[i].x <= 910 && creep2Array[i].y <= 125)
- {
- creep2Array[i].x += xCreep2Speed;
- }
- else if (creep2Array[i].x <= -100 || creep2Array[i].x >= 900 || creep2Array[i].y <= -100 || creep2Array[i].y >= 700)
- {
- removeChild(creep2Array[i]);
- creep2Array.splice(i, 1);
- //trace ("Creep1 Removed");
- }
- }
- }
- private function creep1Lv1():void
- {
- for (var i = creep1Array.length - 1; i >= 0; i--)
- {
- if (creep1Array[i].x < 680 && creep1Array[i].y == 465)
- {
- creep1Array[i].x += xCreep1Speed;
- }
- else if (creep1Array[i].x >= 680 && creep1Array[i].y > 290)
- {
- creep1Array[i].y -= yCreep1Speed;
- }
- else if (creep1Array[i].x > 80 && creep1Array[i].y == 290)
- {
- creep1Array[i].x -= xCreep1Speed;
- }
- else if (creep1Array[i].x <= 80 && creep1Array[i].y > 125)
- {
- creep1Array[i].y -= yCreep1Speed;
- }
- else if (creep1Array[i].x <= 910 && creep1Array[i].y == 125)
- {
- creep1Array[i].x += xCreep1Speed;
- }
- else if (creep1Array[i].x <= -100 || creep1Array[i].x >= 900 || creep1Array[i].y <= -100 || creep1Array[i].y >= 700)
- {
- removeChild(creep1Array[i]);
- creep1Array.splice(i, 1);
- //trace ("Creep1 Removed");
- }
- }
- }
- private function spawnCreep1Lv1(e:MouseEvent):void
- {
- var newCreep1 = new mcCreep1;
- newCreep1.x = 100;
- newCreep1.y = 465;
- addChild(newCreep1);
- creep1Array.push(newCreep1);
- money -= 15;
- }
- private function spawnCreep2Lv1(e:MouseEvent):void
- {
- var newCreep2 = new mcCreep2;
- newCreep2.x = 100;
- newCreep2.y = 450;
- addChild(newCreep2);
- creep2Array.push(newCreep2);
- money -= 25;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement