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>
簡単なゲームでも作ってみよう!