Advertisement
Guest User

Untitled

a guest
Apr 27th, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package views
  2. {
  3.     import flash.events.Event;
  4.     import flash.events.TimerEvent;
  5.     import flash.utils.Timer;
  6.     import objects.Bullet;
  7.     import objects.Enemy;
  8.     import objects.Hero;
  9.     import utils.DKeyboard;
  10.     import utils.DTempo;
  11.     import utils.DView;
  12.    
  13.     /**
  14.      * ...
  15.      * @author yorsh
  16.      */
  17.     public class Game extends DView
  18.     {
  19.         private var hero:Hero;
  20.         private var enemys:Vector.<Enemy>;
  21.        
  22.         private var bullets:Vector.<Bullet>;
  23.         private var elapsedCreation:Number = 0;
  24.         private var elapsedBullet:Number = 0;
  25.        
  26.         public function Game()
  27.         {
  28.             super();
  29.             currentClip = "mc_background";
  30.         }
  31.        
  32.         override public function init():void {
  33.             super.init();
  34.             enemys = new Vector.<Enemy>();
  35.             bullets = new Vector.<Bullet>();
  36.             hero = new Hero();
  37.             addChild(hero);
  38.             DKeyboard.init(stage);
  39.             DTempo.start();
  40.             stage.addEventListener(Event.ENTER_FRAME, loop);
  41.         }
  42.        
  43.        
  44.        
  45.         private function loop(e:Event):void
  46.         {
  47.             hero.update();
  48.             DTempo.update();
  49.             elapsedCreation += DTempo.dt;
  50.             elapsedBullet += DTempo.dt;
  51.             if (DKeyboard.spacePress) {
  52.                 if (elapsedBullet >= 0.7) {
  53.                     var bullet:Bullet = new Bullet(hero.x, hero.y);
  54.                     addChild(bullet);
  55.                     bullets.push(bullet);
  56.                     elapsedBullet = 0;
  57.                 }
  58.                
  59.             }
  60.             if (elapsedCreation >= 1) {
  61.                 var enemy:Enemy = new Enemy();
  62.                 addChild(enemy);
  63.                 enemys.push(enemy);
  64.                 elapsedCreation = 0;
  65.             }
  66.             var total:int = enemys.length;
  67.             var totalBullets:int = bullets.length;
  68.             for (var j:int = 0; j < totalBullets; j++)
  69.             {
  70.                 bullets[j].update();
  71.                 if (bullets[j].outOfBounds) {
  72.                     bullets.splice(j, 1);
  73.                     totalBullets--;
  74.                 }else{
  75.                     for (var k:int = 0; k < total; k++)
  76.                     {
  77.                         if(bullets.length>j){
  78.                             if (bullets[j].hitBitMap(enemys[k].bmd, enemys[k].bmdPoints)) {
  79.                                 removeChild(bullets[j]);
  80.                                 removeChild(enemys[k]);
  81.                                 bullets.splice(j, 1);
  82.                                 enemys.splice(k, 1);
  83.                                 totalBullets--;
  84.                                 total--;
  85.                             }
  86.                         }
  87.                     }
  88.                 }
  89.             }
  90.             for (var i:int = 0; i < total; i++)
  91.             {
  92.                 enemys[i].update();
  93.                 if (enemys[i].hitBitMap(hero.bmd,hero.bmdPoints)) {
  94.                     removeChild(enemys[i]);
  95.                     enemys.splice(i, 1);
  96.                     total--;
  97.                 }else {
  98.                     if (enemys[i].outOfBounds) {
  99.                         enemys.splice(i, 1);
  100.                         total--;
  101.                     }
  102.                 }
  103.                
  104.             }
  105.         }
  106.        
  107.     }
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement