シンプルなゲームでは、キーボードの6つのキーを同時に押すと、Webアプリケーションのドキュメントでkeydownイベントとkeyupイベントを捕捉することに気付きました。予測不能になる。次のコードスニペットでは、リストに表示されているキーが6つのキーの後に表示されなくなることがあります。JavaScriptを使用して6つ以上のキーを同時に押す
<!DOCTYPE html>
<html>
<head>
<title>Keyboard test</title>
</head>
<body>
<div id="target"></div>
<script>
var target = document.getElementById('target');
var keyInventory = {};
var REFRESH_RATE = 1000/60;
document.addEventListener('keyup', function(e) {
keyInventory['Key code ' + e.keyCode] = false;
});
document.addEventListener('keydown', function(e) {
keyInventory['Key code ' + e.keyCode] = true;
});
setInterval(function() {
target.innerHTML = JSON.stringify(keyInventory).replace(/,/g, '<br />');
}, REFRESH_RATE);
</script>
</body>
</html>
ブラウザはいくつかの組み合わせをブロックしていますか、ブラウザは 'keyup'と 'keydown'イベントで6行目を描画していますか?いくつかの既定の動作を防止する必要がありますか?それはすべてのブラウザで同じですか? 6つ以上のキーの組み合わせを登録する方法はありますか?
キーボードの同時キー入力に制限がありますか? –
あなたは正しいようです! Macのキーボードビューアでは、一度に6つのキーしか処理されません。私はそれがOSの問題であるとは思わなかった。私はずっと古いコンピュータのキーボードで2人プレイのゲームをプレイしたことを覚えています...今は私の記憶に疑問を抱いています。 –