Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.display.MovieClip;
- import flash.events.Event;
- import flash.utils.Timer;
- import flash.events.TimerEvent;
- import flash.display.BitmapData;
- import flash.display.Bitmap;
- import flash.display.Sprite;
- import flash.geom.*;
- import flash.events.MouseEvent;
- import flash.events.KeyboardEvent;
- import flash.ui.Mouse;
- import flash.display.Sprite;
- import flash.display.Graphics;
- public class PlayScreen extends MovieClip
- {
- [Embed(source='BGtile_sprite.png')]
- private var BGtile_spriteClass:Class;
- private var bgtile:Bitmap = new BGtile_spriteClass();
- public var tile:BitmapData = bgtile.bitmapData;
- public var army:Array;
- public var bullets:Array;
- public var player:Player;
- public var aim:Aim;
- public var background:Background;
- public var gameTimer:Timer;
- public var screen:BitmapData = new BitmapData(600, 400, false, 0xFFFFFF);
- public var screenBitmap:Bitmap = new Bitmap(screen);
- public var screenSprite:Sprite = new Sprite();
- public var BulletCreate:Boolean = false;
- public var W:Boolean = false;
- public var A:Boolean = false;
- public var S:Boolean = false;
- public var D:Boolean = false;
- public function PlayScreen()
- {
- addEventListener( Event.ADDED_TO_STAGE, eStage );
- for(var i:int = 0; i < 600; i += 32) {
- for(var t:int = 0; t < 400; t += 32) {
- screen.copyPixels(tile, new Rectangle(0, 0, 32, 32), new Point(i, t));
- }
- }
- addChild(screenSprite);
- screenSprite.addChild(screenBitmap);
- army = new Array;
- var newEnemy = new Enemy( 100, -15, 1);
- army.push(newEnemy);
- addChild(newEnemy);
- player = new Player();
- addChild(player);
- var layer:Sprite = new Sprite();
- addChild(layer);
- aim = new Aim();
- layer.addChild(aim);
- Mouse.hide();
- gameTimer = new Timer(25);
- gameTimer.addEventListener(TimerEvent.TIMER, Tick);
- gameTimer.start();
- bullets = new Array;
- }
- public function eStage(e:Event)
- {
- addEventListener( MouseEvent.CLICK, eClick );
- stage.addEventListener( KeyboardEvent.KEY_DOWN, eKeyDown );
- stage.addEventListener( KeyboardEvent.KEY_UP, eKeyUp );
- }
- public function eClick(e:MouseEvent)
- {
- trace("Click");
- if (!BulletCreate)
- {
- BulletCreate = true;
- }
- }
- private function eKeyDown(e:KeyboardEvent):void {
- trace("Key Down.");
- if (e.keyCode == 68) {
- if (!D) {
- D = true;
- }
- } else if (e.keyCode == 65) {
- if (!A) {
- A = true;
- }
- } else if (e.keyCode == 83) {
- if (!W) {
- W = true;
- }
- } else if (e.keyCode == 87) {
- if (!S) {
- S = true;
- }
- }
- }
- private function eKeyUp(e:KeyboardEvent):void {
- trace("Key Up.");
- if (e.keyCode == 68) {
- if (D) {
- D = false;
- }
- } else if (e.keyCode == 65) {
- if (A) {
- A = false;
- }
- } else if (e.keyCode == 83) {
- if (W) {
- W = false;
- }
- } else if (e.keyCode == 87) {
- if (S) {
- S = false;
- }
- }
- }
- public function Tick(timerEvent:TimerEvent):void
- {
- //Enemy.as
- if (Math.random() < 0.1)
- {
- var DirRan:Number = Math.random()
- if (DirRan < 0.25)
- {
- var randomX:Number = Math.random() * 600;
- var newEnemy:Enemy = new Enemy( randomX, -15, 1 );
- } else if (DirRan < 0.5) {
- var randomX:Number = Math.random() * 600;
- var newEnemy:Enemy = new Enemy( randomX, 400, 2 );
- } else if (DirRan < 0.75) {
- var randomX:Number = Math.random() * 400;
- var newEnemy:Enemy = new Enemy( -15, randomX, 3 );
- } else {
- var randomX:Number = Math.random() * 400;
- var newEnemy:Enemy = new Enemy( 600, randomX, 4 );
- }
- army.push( newEnemy );
- addChild( newEnemy );
- }
- for each (var enemy:Enemy in army)
- {
- if (player.hitTestObject(enemy))
- {
- player.HP -= 2;
- }
- if (player.HP <= 0)
- {
- gameTimer.stop();
- var gameOver:GameOver = new GameOver();
- gameOver.x = 0;
- gameOver.y = 0;
- addChild(gameOver);
- }
- enemy.x -= Math.cos(Math.atan2(enemy.y - player.y, enemy.x - player.x)) * 0.5;
- enemy.y -= Math.sin(Math.atan2(enemy.y - player.y, enemy.x - player.x)) * 0.5;
- enemy.rotation = Math.atan2(player.y - enemy.y, player.x - enemy.x) / (Math.PI / 180);
- }
- //Bullet.as
- if (BulletCreate)
- {
- BulletCreate = false;
- var angle_in_rad:Number = Math.atan2(mouseY - player.y, mouseX - player.x);
- var bullet:Bullet = new Bullet();
- bullet.x=player.x;
- bullet.y=player.y;
- bullet.rotation=angle_in_rad * 180/Math.PI;
- addChild(bullet);
- }
- for each (var bullet:Bullet in bullets)
- {
- for each (var enemy:Enemy in army)
- {
- if (bullets[bullet].hitTestObject(army[enemy]))
- {
- trace("Shot!");
- removeChild( enemy );
- removeChild( bullet );
- }
- }
- }
- //Player.as
- if (player.HP < 99.9)
- {
- player.HP += 0.1;
- }
- if (A)
- {
- player.x-=5;
- }
- if (D)
- {
- player.x+=5;
- }
- if (W)
- {
- player.y+=5;
- }
- if (S)
- {
- player.y-=5;
- }
- player.rotation = Math.atan2(mouseY - player.y, mouseX - player.x) * Math.PI / 180;
- trace(player.rotation, player.x, player.y);
- if (player.HP < 20)
- {
- trace("draw1");
- graphics.beginFill(0xFF0000);
- graphics.drawRect(player.x, (player.y + 20), (player.HP / 3), 5);
- graphics.endFill();
- } else {
- trace("draw2");
- graphics.beginFill(0xFF00);
- graphics.drawRect(player.x, (player.y + 20), (player.HP / 3), 5);
- graphics.endFill();
- }
- aim.x = mouseX;
- aim.y = mouseY;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement