2011-09-15 8 views
0

私はゲームのWebページを作成中です。キーボードの入力をキャプチャする方法、つまり上、下、左に移動し、私は入力用のHTMLコードで、テキストボックスを使用したくありません。私はすでに要素を使って自分の世界を描いています。ゲームがタブ上で開いているときに、離れたキーボード入力とさまざまなブラウザのオペレータキーが、ユーザーが画面上の特定の場所をクリックしなくてもキャプチャ可能となるような方法はありますか?私はHTMLで非常に限られた経験しか持っておらず、PythonでゲームをHTMLに組み立てる方法で、答えのコーンが必要です。JavaScriptのゲームのための目に見えない/審美的なキーボードの入力が必要

私はtimedループも使用しており、timedループ内でonkeypressイベントをキャプチャできるようにする必要があります。

どの要素を使用しますか?要素のどのプロパティですか?

+3

イベントハンドラを 'window'または' document'にバインドすることができます。 –

+1

私はこれを使用していない:https://github.com/marquete/kiboが、JSの通常であるので、それは固体 – Joe

+0

だ、答えの始まりは「jQueryのを使用してください」おそらくhttp://api.jquery.com/keydown / – dtanders

答えて

1

あなたのループ内のプレスを取り込むには、現在保持されているキーをどこかに保存し、document.onkeydowndocument.onkeyupを使用してそれらを変更する必要があります。

var heldKeys = []; 

document.onkeydown = function(ev) { 
    heldKeys.push(ev.keyCode); 
} 

document.onkeyup = function(ev) { 
    var i = heldKeys.indexOf(ev.keyCode); 
    if (i != -1) { 
     heldKeys.splice(i, 1); 
    } 
} 

ループの内部で、heldKeysの内容を確認します。あなたはそれをループして各キーに作用することができます。

keyCodeは "a" "b"などと正確には対応しないことに注意してください。それらはASCIIコードです。また、ブラウザの互換性に関する問題が発生する場合もあれば、そうでない場合もあります。

関連する問題