[PR]当たる!無料占いで仕事鑑定:大人気!無料占い『スピリチュアルの館』





キーボードが押されたか調べる


サンプルをダウンロード




■キーボードが押されたか調べる


キーボードが押されたか調べるには、キーボードイベントリスナーを使います。KeyboardEvent.KEY_DOWN で関数を登録しておくと、キーボードが押されたときに関数が呼ばれます。引数に KeyboardEvent オブジェクトが渡されます。プロパティは以下の通り。


プロパティ 解説
keyCode キーコード
keyLocation Shiftキーなど 左=1 か 右=2 か
ctrlKey Ctrlキーの押下状態
shiftKey Shiftキーの押下状態
altKey Altキーの押下状態(未サポート)



キーボードが押されたときに関数が呼び出されるように登録する

stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);

function KeyDown(event:KeyboardEvent){
	trace(event.keyCode);
	trace(event.keyLocation);
	trace(event.ctrlKey);
	trace(event.shiftKey);
	trace(event.altKey);
};


このイベントハンドラは、stage オブジェクト以外のインスタンスに登録したときはフォーカスを与えないと動作しません。


stage オブジェクト以外でのイベントの登録

var mc : MovieClip = new MovieClip();
stage.focus = mc;

mc.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
function KeyDown(event:KeyboardEvent){
	trace(event.keyCode);
};








キーボードが離されたか調べる


サンプルをダウンロード



■キーボードが離されたか調べる


キーボードが押されたか調べるには、キーボードイベントリスナーを使います。KeyboardEvent.KEY_UP で関数を登録しておくと、キーボードが離されたときに関数が呼ばれます。引数に KeyboardEvent オブジェクトが渡されます。プロパティは以下の通り。


プロパティ解説
keyCodeキーコード
keyLocationShiftキーなど 左=1 か 右=2 か
ctrlKeyCtrlキーの押下状態
shiftKeyShiftキーの押下状態
altKeyAltキーの押下状態(未サポート)


キーボードが離されたときに関数が呼び出されるように登録する

stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);

function KeyUp(event:KeyboardEvent){
	trace(event.keyCode);
	trace(event.keyLocation);
	trace(event.ctrlKey);
	trace(event.shiftKey);
	trace(event.altKey);
};


このイベントハンドラは、stage オブジェクト以外のインスタンスに登録したときはフォーカスを与えないと動作しません。


stage オブジェクト以外でのイベントの登録

var mc : MovieClip = new MovieClip();
stage.focus = mc;

mc.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
function KeyUp(event:KeyboardEvent){
	trace(event.keyCode);
};







キーボードが押しっぱなしか調べる



サンプルをダウンロード



■キーボードが押しっぱなしか調べる


キーボードが押しっぱなしか調べるには、上で紹介したイベントハンドラ2つと変数1つを使って調べます。
まず、KEY_DOWN のイベントハンドラが呼ばれた時点で変数のフラグを立てます。そして、KEY_UP のイベントハンドラが呼ばれた時点で変数のフラグをつぶします。

こうすると変数が立っている間のみキーボードが押しっぱなしである事がわかります。



スペースキーが押しっぱなしであるか調べる

var space_flg : Boolean = false;


function KeyDownFunc(event){
    if(event.keyCode == Keyboard.SPACE){
        space_flg = true;
    }
}

function KeyUpFunc(event){
    if(event.keyCode == Keyboard.SPACE){
        space_flg = false;
    }
}

stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpFunc);

stage.addEventListener(Event.ENTER_FRAME, function(event){
    if(space_flg){
        trace("スペースキーが押されている");
    }else{
        trace("スペースキーが押されていない");
    }
});







キーボードを押しながら Flash を非アクティブにすると押しっぱなしになってしまうので、Flashが非アクティブになったときはキーボードを離すようにします。 非アクティブになったか調べるには、Event.DEACTIVATE イベントリスナーを使います。



スペースキーが押しっぱなしであるか調べる

var space_flg : Boolean = false;


function KeyDownFunc(event){
    if(event.keyCode == Keyboard.SPACE){
        space_flg = true;
    }
}

function KeyUpFunc(event){
    if(event.keyCode == Keyboard.SPACE){
        space_flg = false;
    }
}

function DeActiveFunc(event){
    space_flg = false;
}

stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpFunc);
stage.addEventListener(Event.DEACTIVATE, DeActiveFunc);

stage.addEventListener(Event.ENTER_FRAME, function(event){
    if(space_flg){
        trace("スペースキーが押されている");
    }else{
        trace("スペースキーが押されていない");
    }
});








キーコードの一覧表



サンプルをダウンロード




■キーコードの一覧表


キーボードイベントリスナーのコールバック関数の引数に渡される KeyboardEvent のプロパティ KeyCode の一覧表です。

コールバック関数呼び出し時に渡されるパラメータ
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc);

function KeyDownFunc(event:KeyboardEvent){
    event.keyCode;
};






A〜Z、0〜9までのキーコードの一覧表です。


キー keyCode
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
A 65
B 66
C 67
D 68
E 69
F 70
G 71
H 72
I 73
J 74
K 75
L 76
M 77
N 78
O 79
P 80
Q 81
R 82
S 83
T 84
U 85
V 86
W 87
X 88
Y 89
Z 90


テンキーのキーコードの一覧表です。


キー keyCode
0 96
1 97
2 98
3 99
4 100
5 101
6 102
7 103
8 104
9 105
* 106
+ 107
Enter 108
- 109
. 110
/ 111


ファンクションキーのキーコードの一覧表です。


キー keyCode
F1 112
F2 113
F3 114
F4 115
F5 116
F6 117
F7 118
F8 119
F9 120
F10 121
F11 122
F12 123
F13 124
F14 125
F15 126


その他のキーコードの一覧表です。


キー keyCode
BackSpace 8
Tab 9
Clear 12
Enter 13
Shift 16
Ctrl 17
Alt 18
CapsLock 20
Esc 27
スペースバー 32
PageUp 33
PageDown 34
End 35
Home 36
← (左矢印) 37
↑ (上矢印) 38
→ (右矢印) 39
↓ (下矢印) 40
Insert 45
Delete 46
Help 47
NumLock 144
: * 186
; + 187
, < 188
- = 189
. > 190
/ ? 191
@ ` 192
[ { 219
\ | 220
] } 221
^ ~ 222


キーコードの定数一覧表です。


キー プロパティ
BackSpace Keyboard.BACKSPACE
CapsLock Keyboard.CAPS_LOCK
Control Keyboard.CONTROL
Delete Keyboard.DELETE
End Keyboard.END
Enter Keyboard.ENTER
Escape Keyboard.ESCAPE
F1 Keyboard.F1
F2 Keyboard.F2
F3 Keyboard.F3
F4 Keyboard.F4
F5 Keyboard.F5
F6 Keyboard.F6
F7 Keyboard.F7
F8 Keyboard.F8
F9 Keyboard.F9
F10 Keyboard.F10
F11 Keyboard.F11
F12 Keyboard.F12
F13 Keyboard.F13
F14 Keyboard.F14
F15 Keyboard.F15
Home Keyboard.HOME
Insert Keyboard.INSERT
NUMPAD 0 Keyboard.NUMPAD_0
NUMPAD 1 Keyboard.NUMPAD_1
NUMPAD 2 Keyboard.NUMPAD_2
NUMPAD 3 Keyboard.NUMPAD_3
NUMPAD 4 Keyboard.NUMPAD_4
NUMPAD 5 Keyboard.NUMPAD_5
NUMPAD 6 Keyboard.NUMPAD_6
NUMPAD 7 Keyboard.NUMPAD_7
NUMPAD 8 Keyboard.NUMPAD_8
NUMPAD 9 Keyboard.NUMPAD_9
NUMPAD + Keyboard.NUMPAD_ADD
NUMPAD . Keyboard.NUMPAD_DECIMAL
NUMPAD / Keyboard.NUMPAD_DIVIDE
NUMPAD Enter Keyboard.NUMPAD_ENTER
NUMPAD * Keyboard.NUMPAD_MULTIPLY
NUMPAD - Keyboard.NUMPAD_SUBTRACT
Page Up Keyboard.PAGE_UP
Page Down Keyboard.PAGE_DOWN
Arrow Up Keyboard.UP
Arrow Down Keyboard.DOWN
Arrow Left Keyboard.LEFT
Arrow Right Keyboard.RIGHT
Shift Keyboard.SHIFT
Space Keyboard.SPACE
Tab Keyboard.TAB




スペースキーが押されたとき

stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc);

function KeyDownFunc(event:KeyboardEvent){
    if(event.keyCode == Keyboard.SPACE){
    	trace("スペースキーが押された");
    }
}


Aキーが離されたとき

stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpFunc);

function KeyUpFunc(event:KeyboardEvent){
    if(event.keyCode == "65"){
    	trace("スペースキーが押された");
    }
}










[PR]看護師の好条件求人なら:転職のプロがサポート!年間5万人が利用