3

私はjavascriptで簡単なゲームを作成しようとしていますが、キーの処理方法に固執しています。

小さな例:

function keyUpEvent(event) {
    alert(event.keyCode);
}
window.addEventListener("keyup", keyUpEvent, false);

Ubuntu 9.10を実行していて、Firefox3.5とChromiumでテストしています。

ボタンをすぐに押して放すとアラートが表示されますが、ボタンを押し続けると少し一時停止してから一連のアラートウィンドウが表示され、アラートのみが表示されると予想されます。ボタンから指を離すとウィンドウが表示されます。

たとえば、テキスト領域のボタンを押し続けると、1つの文字、小さな一時停止、そして一連の文字ddddddddddddddddが表示されるという事実と関係があると思います。

たとえば、このゲーム以降、これを回避したり、より適切に実行したりすることは可能だと思います。たとえば、http://bohuco.net/testing/gamequery/pong.htmlシームはこれに影響されません。しかし、jquery keyupデモ(api.jquery.com/keyup/)を試してみると、同じ問題が発生することに気付きました。

基本的なゲームキーイベント処理を実装するにはどうすればよいですか?

4

1 に答える 1

0

あなたが与える例は、解決策を持っています-なぜそれに従ってみませんか?

keyDownの後にタイマーを使用し、ジョブを実行する関数を直接呼び出さない。そしてこれがトリックです、あなたはタイマーを使わなければなりません。

これはあなたにもう一つの考えを与えることができる同様の問題です。

于 2010-05-02T06:26:01.517 に答える