2012-01-17 16 views
2

JSミニゲームが正しく動作しません。押された最初の2つのキーのみを記録します。3つ以上のキーが押されたときに問題が発生しました

あなたはこのjsFiddle

私のコードで問題を見ることができますが、私はここに入れて何かわからない、本当に大きいですが、私は、問題はここにあると思う:

document.onkeypress=function(e){ 
    var charCode; 

    e=e||window.event; 

    charCode=typeof e.which=="number"?e.which:e.keyCode; 

    if((charCode>=102&&charCode<=104)||charCode==106){ 
     getKey(charCode==106?4:charCode-101);//F-G-H-J=1-2-3-4 
    } 
    return false; 
}; 
+1

ほとんどのキーボードでは、同時に処理できるキーの数に制限があります。 shiftとctrlのようなキーは、同時制限が何であれ、しばしば処理されます –

+0

@FrederickCheung答えとして投稿すれば確定できます – mithril333221

答えて

2

ほとんどのキーボードでは、同時に処理できるキーの数に制限があります。 shiftやctrlのようなキーは、その同時の制限が何であれ、その上で処理されることがよくあります。

1

はにonkeydownを使用してみてください鍵が押されたときに追跡し、鍵が離されるときにonkeyupを追跡する。配列などで現在押されているものを追跡できます。

EDIT:Nevermind。あなたのゲームは、最大4回のキー操作でうまくいきました。あなたのコメントは何かにあった。私はあなたのキーボードだけではそれを処理することはできないと思う。

+0

しかし、2つのキーが押されると、3番目の数字は記録されません。 – mithril333221

+0

試しましたか? onkeydownだけでなくonkeypress? – iandisme

+0

私はあなたの 'onkeydown'を見落としました。私はそれを確認し、何が起こるか見る。編集:私は 'onkeydownを使用する方法がわからない、私はそれを使用しようとしたが、それは動作しないとそれは私がF5をリフレッシュするために使用することができません – mithril333221

関連する問題