5

そのため、画面上の objectx、objecty にオブジェクトを描画し、右矢印が押されると objectx をインクリメントして、オブジェクトを右に移動します。私が直面している問題は、右矢印キーを押したままにすると、一度増加し、一時停止してから、繰り返し増加することです。私の質問は、なぜこれを行うのか、そして最初の一時停止なしでオブジェクトを滑らかに動かすにはどうすればよいですか?

$(window).keydown(function(e) {
    if(e.keyCode == 39) {
        objectx++;
    }
}
4

2 に答える 2

3

キーダウンでオブジェクトを増やす間隔を作り、キーアップで間隔を止めます。(間隔 ID をどこかに保存します。また、間隔が既にある場合は、間隔を 2 回作成しないようにしてください)

于 2013-08-14T18:18:22.767 に答える
0

コードに問題はありません。自動リピート キーの動作は O/S + ブラウザに依存し、各ユーザーは、キーを繰り返し押したとして登録される前に、キーを連続して押す必要がある時間について異なる設定を持っています。どのレートでも。この動作は、誤って複数のキーを押すことを避けることを目的としています。

コード的には、keyDownイベントは問題なくキャプチャされています。これらのイベントを発生させないのはブラウザです。

于 2013-08-14T18:35:38.517 に答える