home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / Beez.swf / scripts / core / TimeManager.as < prev   
Encoding:
Text File  |  2008-09-03  |  2.8 KB  |  97 lines

  1. package core
  2. {
  3.    import core.events.CoreEvent;
  4.    import core.objects.BonusBall;
  5.    import core.objects.Meteor;
  6.    import core.objects.MeteorDef;
  7.    import core.objects.Rect;
  8.    import core.objects.RectDef;
  9.    import flash.display.Stage;
  10.    import flash.events.KeyboardEvent;
  11.    
  12.    public class TimeManager
  13.    {
  14.        
  15.       
  16.       private var engine:CoreEngine;
  17.       
  18.       private var currentTime:int;
  19.       
  20.       private var stage:Stage;
  21.       
  22.       public function TimeManager(stage:Stage)
  23.       {
  24.          super();
  25.          this.stage = stage;
  26.          init();
  27.       }
  28.       
  29.       private function init() : void
  30.       {
  31.          currentTime = 0;
  32.          engine = CoreEngine.getInstance();
  33.          engine.dispatcher.addEventListener(CoreEvent.DESTROY,destroyHandler);
  34.       }
  35.       
  36.       private function createRect() : void
  37.       {
  38.          var width:Number = 20 + Math.random() * 50;
  39.          var height:Number = 20 + Math.random() * 50;
  40.          var rotation:Number = Math.round(Math.random() * 180);
  41.          var dx:Number = 200;
  42.          var x:Number = 290 - dx + Math.random() * dx * 2;
  43.          var y:Number = 0;
  44.          var rectDef:RectDef = new RectDef(x,y,0,width,height,rotation);
  45.          var rect:Rect = new Rect(rectDef);
  46.       }
  47.       
  48.       private function createMeteor() : void
  49.       {
  50.          var r:Number = 20;
  51.          var dx:Number = 200;
  52.          var x:Number = 290 - dx + Math.random() * dx * 2;
  53.          var meteorDef:MeteorDef = new MeteorDef(x,-r,0,r,10,30);
  54.          var meteor:Meteor = new Meteor(meteorDef);
  55.       }
  56.       
  57.       private function keyDownHandler(e:KeyboardEvent) : void
  58.       {
  59.          switch(e.keyCode)
  60.          {
  61.             case 90:
  62.                engine.level.createBonusBallDef(BonusBall.FREEZE,0);
  63.                break;
  64.             case 88:
  65.                engine.level.createBonusBallDef(BonusBall.POWERUP,0);
  66.                break;
  67.             case 67:
  68.                engine.level.createBonusBallDef(BonusBall.PUSH_FIELD,0);
  69.                break;
  70.             case 86:
  71.                engine.level.createBonusBallDef(BonusBall.ATTACH,0);
  72.                break;
  73.             case 66:
  74.                engine.level.createBonusBallDef(BonusBall.INVERSE,0);
  75.                break;
  76.             case 65:
  77.                engine.level.createCircleDef(10);
  78.                break;
  79.             case 83:
  80.                createMeteor();
  81.                break;
  82.             case 68:
  83.                createRect();
  84.                break;
  85.             case 81:
  86.                engine.level.createStarDef(0);
  87.          }
  88.       }
  89.       
  90.       private function destroyHandler(e:CoreEvent) : void
  91.       {
  92.          stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
  93.          engine.dispatcher.removeEventListener(CoreEvent.DESTROY,destroyHandler);
  94.       }
  95.    }
  96. }
  97.