Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.display.Stage;
- import flash.display.MovieClip;
- import flash.events.Event;
- import flash.events.MouseEvent;
- public class Main extends MovieClip
- {
- public var player:Player;
- public var enemy:Enemy;
- public var bulletList:Array = [];
- public var mousePressed:Boolean = false; //keeps track of whether the mouse is currently pressed down
- public var delayCounter:int = 0; //this adds delay between the shots
- public var delayMax:int = 7; //change this number to shoot more or less rapidly
- var enemies:Array = [];
- public function Main():void
- {
- player = new Player(stage, 320, 240);
- stage.addChild(player);
- //stage.addEventListener(MouseEvent.CLICK, shootBullet, false, 0, true); //remove this
- stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false, 0, true);
- stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, false, 0, true);
- stage.addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
- for(var numBaddies=0; numBaddies<6;numBaddies++){
- var enemy:Enemy = new Enemy(null);
- enemy.x = numBaddies*50;
- enemy.y = numBaddies*50
- stage.addChild(enemy);
- enemies.push(enemy);
- }
- }
- public function loop(e:Event):void
- {
- if(mousePressed) // as long as the mouse is pressed...
- {
- delayCounter++; //increase the delayCounter by 1
- if(delayCounter == delayMax) //if it reaches the max...
- {
- shootBullet(); //shoot a bullet
- delayCounter = 0; //reset the delay counter so there is a pause between bullets
- }
- }
- if(bulletList.length > 0)
- {
- for(var i:int = bulletList.length-1; i >= 0; i--)
- {
- bulletList[i].loop();
- }
- }
- for(var h = 0; h<bulletList.length; ++h)
- {
- if(bulletList[h].hitTestObject(this)){
- trace("player hit by baddie " + h);
- }
- }
- }
- public function mouseDownHandler(e:MouseEvent):void //add this function
- {
- mousePressed = true; //set mousePressed to true
- }
- public function mouseUpHandler(e:MouseEvent):void //add this function
- {
- mousePressed = false; //reset this to false
- }
- public function shootBullet():void //delete the "e:MouseEvent" parameter
- {
- var bullet:Bullet = new Bullet(stage, player.x, player.y, player.rotation, enemies);
- bullet.addEventListener(Event.REMOVED_FROM_STAGE, bulletRemoved, false, 0, true);
- bulletList.push(bullet);
- stage.addChild(bullet);
- }
- public function bulletRemoved(e:Event):void
- {
- e.currentTarget.removeEventListener(Event.REMOVED_FROM_STAGE, bulletRemoved);
- bulletList.splice(bulletList.indexOf(e.currentTarget),1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement