Flexでキーボード入力の参照

Flexでゲームを作るときなどに便利なキーボードの入力の参照の仕方です。
http://moeten.info/flex/20080302_keybordTest/bin-release/main.html

キーボードの入力の取得は簡単で、キーボードイベントのリスナーを追加するだけです。

addEventListener( KeyboardEvent.KEY_DOWN , onKey );

ただ、いくつか注意することがあってイベントリスナーをするオブジェに対して、以下の設定を行います。

setFocus();
tabEnabled = true;

ソースはこんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"    creationComplete="init()">
<mx:Script>
<![CDATA[
private function init():void{
//    this.tabIndex = 1;
//    this.focusEnabled = true;
//    this.mouseFocusEnabled = true;
//    this.mouseEnabled = true;
    this.setFocus();
    this.tabEnabled = true;
       this.addEventListener( KeyboardEvent.KEY_DOWN , onKey );
    this.addEventListener( KeyboardEvent.KEY_UP , onKey );
}
//キーボードイベント
private function onKey(event:KeyboardEvent):void{
    myLog.text = "pressKey"      + "\n";
    myLog.text += "Shift="       + event.shiftKey+ "\n";
    myLog.text += "Ctrl="        + event.ctrlKey+ "\n";
    myLog.text += "CharCode="    + event.charCode+ "\n";
    myLog.text += "KeyCode="     + event.keyCode+ "\n";
    myLog.text += "KeyLocation=" + event.keyLocation+ "\n";
}
]]>
</mx:Script>
<mx:TextArea x="10" y="10" height="259" id="myLog"/>
</mx:Application>

簡単なゲームでも作ってみよう!