package { import flash.display.Stage; import flash.events.KeyboardEvent; import flash.events.Event; public class KeyboardEvents { private var _stage:Stage; private var keyPress:Array = new Array(false, false, false, false, false, false);//0=up 1=down 2=left 3=right 4=shoot public function KeyboardEvents($stage:Stage) { _stage = $stage; addListeners(); } private function addListeners():void { _stage.addEventListener(KeyboardEvent.KEY_DOWN, key_press); _stage.addEventListener(KeyboardEvent.KEY_UP, key_up); } private function removeGameListeners():void { _stage.removeEventListener(KeyboardEvent.KEY_DOWN, key_press); _stage.removeEventListener(KeyboardEvent.KEY_UP, key_up); } private function key_press(e:KeyboardEvent):void { if (e.keyCode == 38 || e.keyCode == 87) keyPress[0] = true; //up or W if (e.keyCode == 40 || e.keyCode == 83) keyPress[1] = true; //down or S if (e.keyCode == 37 || e.keyCode == 65) keyPress[2] = true; //left or A if (e.keyCode == 39 || e.keyCode == 68) keyPress[3] = true; //right or D if (e.keyCode == 17) keyPress[4] = true; //ctrl if (e.keyCode == 32) keyPress[5] = true; //space } private function key_up(e:KeyboardEvent):void { if (e.keyCode == 38 || e.keyCode == 87) keyPress[0] = false;//up or W if (e.keyCode == 40 || e.keyCode == 83) keyPress[1] = false;//down or S if (e.keyCode == 37 || e.keyCode == 65) keyPress[2] = false;//left or A if (e.keyCode == 39 || e.keyCode == 68) keyPress[3] = false;//right or D if (e.keyCode == 17) keyPress[4] = false; //ctrl if (e.keyCode == 32) keyPress[5] = false; //space } public function getKeyPress():Array { return keyPress; } } }