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

  1. package core
  2. {
  3.    import flash.display.Stage;
  4.    import flash.events.KeyboardEvent;
  5.    
  6.    public class Input
  7.    {
  8.       
  9.       public static var KEY_A:uint = 65;
  10.       
  11.       public static var KEY_LEFT:uint = 37;
  12.       
  13.       public static var KEY_DOWN:uint = 40;
  14.       
  15.       public static var KEY_D:uint = 68;
  16.       
  17.       public static var KEY_SPACE:uint = 32;
  18.       
  19.       public static var KEY_S:uint = 83;
  20.       
  21.       private static var instance:Input;
  22.       
  23.       public static var KEY_W:uint = 87;
  24.       
  25.       public static var KEY_UP:uint = 38;
  26.       
  27.       public static var KEY_RIGHT:uint = 39;
  28.        
  29.       
  30.       private var ascii:Array;
  31.       
  32.       private var keyState:Array;
  33.       
  34.       public function Input()
  35.       {
  36.          super();
  37.       }
  38.       
  39.       public static function getInstance() : Input
  40.       {
  41.          if(instance == null)
  42.          {
  43.             instance = new Input();
  44.          }
  45.          return instance;
  46.       }
  47.       
  48.       public function init(stage:Stage) : void
  49.       {
  50.          stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
  51.          stage.addEventListener(KeyboardEvent.KEY_UP,keyUpHandler);
  52.          keyState = [];
  53.          for(var i:uint = 0; i < 222; i++)
  54.          {
  55.             keyState[i] = 0;
  56.          }
  57.       }
  58.       
  59.       private function keyUpHandler(e:KeyboardEvent) : void
  60.       {
  61.          keyState[e.keyCode] = -1;
  62.       }
  63.       
  64.       private function keyDownHandler(e:KeyboardEvent) : void
  65.       {
  66.          keyState[e.keyCode] = 1;
  67.       }
  68.       
  69.       public function isKeyReleased(k:int) : Boolean
  70.       {
  71.          return keyState[k] == -1;
  72.       }
  73.       
  74.       public function isKeyPressed(k:int) : Boolean
  75.       {
  76.          return keyState[k] == 1;
  77.       }
  78.       
  79.       private function fillAscii() : void
  80.       {
  81.          ascii[65] = "A";
  82.          ascii[66] = "B";
  83.          ascii[67] = "C";
  84.          ascii[68] = "D";
  85.          ascii[69] = "E";
  86.          ascii[70] = "F";
  87.          ascii[71] = "G";
  88.          ascii[72] = "H";
  89.          ascii[73] = "I";
  90.          ascii[74] = "J";
  91.          ascii[75] = "K";
  92.          ascii[76] = "L";
  93.          ascii[77] = "M";
  94.          ascii[78] = "N";
  95.          ascii[79] = "O";
  96.          ascii[80] = "P";
  97.          ascii[81] = "Q";
  98.          ascii[82] = "R";
  99.          ascii[83] = "S";
  100.          ascii[84] = "T";
  101.          ascii[85] = "U";
  102.          ascii[86] = "V";
  103.          ascii[87] = "W";
  104.          ascii[88] = "X";
  105.          ascii[89] = "Y";
  106.          ascii[90] = "Z";
  107.          ascii[48] = "0";
  108.          ascii[49] = "1";
  109.          ascii[50] = "2";
  110.          ascii[51] = "3";
  111.          ascii[52] = "4";
  112.          ascii[53] = "5";
  113.          ascii[54] = "6";
  114.          ascii[55] = "7";
  115.          ascii[56] = "8";
  116.          ascii[57] = "9";
  117.          ascii[32] = "Spacebar";
  118.          ascii[17] = "Ctrl";
  119.          ascii[16] = "Shift";
  120.          ascii[192] = "~";
  121.          ascii[38] = "up";
  122.          ascii[40] = "down";
  123.          ascii[37] = "left";
  124.          ascii[39] = "right";
  125.          ascii[96] = "Numpad 0";
  126.          ascii[97] = "Numpad 1";
  127.          ascii[98] = "Numpad 2";
  128.          ascii[99] = "Numpad 3";
  129.          ascii[100] = "Numpad 4";
  130.          ascii[101] = "Numpad 5";
  131.          ascii[102] = "Numpad 6";
  132.          ascii[103] = "Numpad 7";
  133.          ascii[104] = "Numpad 8";
  134.          ascii[105] = "Numpad 9";
  135.          ascii[111] = "Numpad /";
  136.          ascii[106] = "Numpad *";
  137.          ascii[109] = "Numpad -";
  138.          ascii[107] = "Numpad +";
  139.          ascii[110] = "Numpad .";
  140.          ascii[45] = "Insert";
  141.          ascii[46] = "Delete";
  142.          ascii[33] = "Page Up";
  143.          ascii[34] = "Page Down";
  144.          ascii[35] = "End";
  145.          ascii[36] = "Home";
  146.          ascii[112] = "F1";
  147.          ascii[113] = "F2";
  148.          ascii[114] = "F3";
  149.          ascii[115] = "F4";
  150.          ascii[116] = "F5";
  151.          ascii[117] = "F6";
  152.          ascii[118] = "F7";
  153.          ascii[119] = "F8";
  154.          ascii[188] = ",";
  155.          ascii[190] = ".";
  156.          ascii[186] = ";";
  157.          ascii[222] = "\'";
  158.          ascii[219] = "[";
  159.          ascii[221] = "]";
  160.          ascii[189] = "-";
  161.          ascii[187] = "+";
  162.          ascii[220] = "\\";
  163.          ascii[191] = "/";
  164.          ascii[9] = "TAB";
  165.          ascii[8] = "Backspace";
  166.       }
  167.    }
  168. }
  169.