トップページ > マウス, キーボード > キーボードイベントを受け取る
プログラム
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
ENTER_FRAMEやマウスイベントと同じように設定します。
KEY_DOWNは何かのキーが押された時にイベントを送出します。
KEY_DOWNは何かのキーが押された時にイベントを送出します。
private function onKeyDown(event:KeyboardEvent):void
{
}
メソッドの書き方はこんな感じです。
KeyboardEventが送出されるので、引数にevent:KeyboardEventと書いておきましょう。
KeyboardEventが送出されるので、引数にevent:KeyboardEventと書いておきましょう。
if (event.keyCode == 65) trace("Aが押されました");
event.keyCodeの中に数値が入っています。
このkeyCodeというのは、キーボードにある各キーと対応している数値が入っている変数で、例えば"A"は65、"0"は48という風に番号が割り振られています。
このkeyCodeというのは、キーボードにある各キーと対応している数値が入っている変数で、例えば"A"は65、"0"は48という風に番号が割り振られています。
キーコード一覧
基本的には上のページに載せている、文字に対応するキーコードと比較します。
基本的には上のページに載せている、文字に対応するキーコードと比較します。
String.fromCharCode(event.keyCode) == "A"
String#fromCharCode()でキーコードから文字列を取得することが可能です。
取得できる文字列は英数字(A-Z, 0-9)のみです。
取得できる文字列は英数字(A-Z, 0-9)のみです。
private function onKeyDown(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT) trace("←が押されました");
}
Keyboardクラスにキーコードに対応する定数が用意されているのでそれを使用してもいいでしょう。
英字(a~z, A~Z)以外のキー全てがKeyboardクラスに定義されています。
英字(a~z, A~Z)以外のキー全てがKeyboardクラスに定義されています。
イベント名
| KEY_DOWN | 何かのキーが押されたとき |
| KEY_UP | 何かのキーが離されたとき |
検証用コード
package
{
import flash.display.Sprite;
import flash.events.KeyboardEvent;
public class Main extends Sprite
{
public function Main()
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
}
private function onKeyDown(event:KeyboardEvent):void
{
if (event.keyCode == 65) trace("Aが押されました");
}
private function onKeyUp(event:KeyboardEvent):void
{
if (event.keyCode == 65) trace("Aが離されました");
}
}
}
このwikiの更新情報RSS