GameCorder.net

5.javascriptでキーボードの値を受け取る

キーボードの値を受け取る方法です。
window.addEventListener関数を使用します。

	// キーの登録
    window.addEventListener('keydown', KeyDown, true);     
    window.addEventListener('keyup', KeyUp, true);      
		

window.addEventListener( event, function, useCapture )

event
イベント名、ここではkeydown、keyup
function
イベントで入力した操作が行われた時に呼び出される関数名
useCapture
デフォルトでfalse、よくわからない

これで、キーを押したときに指定した関数が呼ばれるようになりました。
次は、呼び出される関数を見ていきます。

/*
	キーを押した時の操作
*/
function KeyDown(event) {
    var code = event.keyCode;       // どのキーが押されたか

    switch(code) {
        // エンターキー
        case 13:
            g_ReturnPush = true;
            break;
        // スペースキー
        case 32:
            g_bSpacePush = true;
            break;
			// ←キー
        case 37:
            g_bLeftPush = true;
            break;
			// →キー
        case 39:
            g_bRightPush = true;
            break;
			// ↑キー
        case 38:
			g_bUpPush = true;
            break;
			// ↓キー
        case 40:
            g_bDownPush = true;
            //event.preventDefault();	// なんだこれ?
            break;
        case 65:
            // aキー
            g_bAPush = true;
            break;
    }
}

/*
	キーを離した時のイベント
*/
function KeyUp(event) {
    code = event.keyCode;
    switch(code) {
        // エンターキー
        case 13:
            g_ReturnPush = false;
            break;
        // スペースキー
        case 32:
            g_bSpacePush = false;
            break;
			// ←キー
        case 37:
            g_bLeftPush = false;
            break;
        case 39:
            // →キー
            g_bRightPush = false;
            break;
        case 38:
            // ↑キー
			g_bUpPush = false;
            break;
        case 40:
            // ↓キー
			g_bDownPush = false;
            break;
        case 65:
            // aキー
            g_bAPush = false;
            break;
    }
}
		

キーボード入力の取得について

キーにはそれぞれ決められた番号が振られています。
以下のサイトでキーの番号が確認できます
http://www.programming-magic.com/file/20080205232140/keycode_table.html
これで、キーボードの入力を獲得することができるようになりました。