Advertisement
Guest User

Main.as

a guest
Jan 6th, 2014
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import flash.display.Stage;
  4.     import flash.display.MovieClip;
  5.     import flash.events.Event;
  6.     import flash.events.MouseEvent;
  7.  
  8.     public class Main extends MovieClip
  9.     {
  10.         public var player:Player;
  11.         public var enemy:Enemy;
  12.  
  13.         public var bulletList:Array = [];
  14.  
  15.         public var mousePressed:Boolean = false; //keeps track of whether the mouse is currently pressed down
  16.         public var delayCounter:int = 0; //this adds delay between the shots
  17.         public var delayMax:int = 7; //change this number to shoot more or less rapidly
  18.          
  19.         var enemies:Array =  [];
  20.  
  21.         public function Main():void
  22.         {
  23.             player = new Player(stage, 320, 240);
  24.             stage.addChild(player);
  25.  
  26.             //stage.addEventListener(MouseEvent.CLICK, shootBullet, false, 0, true); //remove this
  27.             stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false, 0, true);
  28.             stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, false, 0, true);
  29.  
  30.             stage.addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
  31.             for(var numBaddies=0; numBaddies<6;numBaddies++){
  32.                 var enemy:Enemy = new Enemy(null);
  33.                 enemy.x = numBaddies*50;
  34.                 enemy.y = numBaddies*50
  35.                 stage.addChild(enemy);
  36.                 enemies.push(enemy);
  37.             }
  38.         }
  39.  
  40.         public function loop(e:Event):void
  41.         {
  42.             if(mousePressed) // as long as the mouse is pressed...
  43.             {
  44.                 delayCounter++; //increase the delayCounter by 1
  45.                 if(delayCounter == delayMax) //if it reaches the max...
  46.                 {
  47.                     shootBullet(); //shoot a bullet
  48.                     delayCounter = 0; //reset the delay counter so there is a pause between bullets
  49.                    
  50.                }
  51.             }
  52.  
  53.             if(bulletList.length > 0)
  54.             {
  55.                 for(var i:int = bulletList.length-1; i >= 0; i--)
  56.                 {
  57.                     bulletList[i].loop();
  58.                 }
  59.             }
  60.            
  61.             for(var h = 0; h<bulletList.length; ++h)
  62.             {
  63.                 if(bulletList[h].hitTestObject(this)){
  64.                   trace("player hit by baddie " + h);
  65.                    }
  66.             }
  67.            
  68.         }
  69.        
  70.  
  71.         public function mouseDownHandler(e:MouseEvent):void //add this function
  72.         {
  73.             mousePressed = true; //set mousePressed to true
  74.         }
  75.  
  76.         public function mouseUpHandler(e:MouseEvent):void //add this function
  77.         {
  78.             mousePressed = false; //reset this to false
  79.         }
  80.  
  81.         public function shootBullet():void //delete the "e:MouseEvent" parameter
  82.         {
  83.             var bullet:Bullet = new Bullet(stage, player.x, player.y, player.rotation, enemies);
  84.             bullet.addEventListener(Event.REMOVED_FROM_STAGE, bulletRemoved, false, 0, true);
  85.             bulletList.push(bullet);
  86.             stage.addChild(bullet);
  87.         }
  88.  
  89.         public function bulletRemoved(e:Event):void
  90.         {
  91.             e.currentTarget.removeEventListener(Event.REMOVED_FROM_STAGE, bulletRemoved);
  92.             bulletList.splice(bulletList.indexOf(e.currentTarget),1);
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement