理由を説明するのは難しいですが、私は何を説明しようとします。これがキーボードのスピードタップだとしましょう。2 つのキーの間を速くタップするほど、スコアが高くなります (最後の部分はジェットが実装されていません)。また、両方のキーを次々にタップするとより効果的です。
アイデアは、最初のキー入力と2番目のキー入力時間から時間を読み取って、それらの間の時間を計算することです-最初のラウンドのデルタ。将来的には、最初のデルタ (タップ 1 - タップ 2) と 2 番目のデルタ (タップ 1 - タップ 2) を比較したいと考えています。最初のラウンドのタップ (タップ 1 - タップ 2) の後、両方のデルタを取得し、ほとんどの場合、それらは等しいため、比較を行うことができません。
1.私が間違っていることは何ですか? すべての出力を取得して後で比較する必要がありますか? 2. また、同じキーを 2 回タップしたときの問題にどう対処すればよいですか。私はそれを無視するのではなく、登録したい.
var start1 = 0;
var satrt2 = 0;
function run(){
first();
second();
}
function first(){
document.addEventListener('keydown',function(event){
if(event.keyCode == 37){
start1 = new Date().getTime();
//console.log("L " + start);
}
else if(event.keyCode == 39){
var delta1 = new Date().getTime() - start1;
console.log("first round input is " + delta1 );
start1 = 0;
}
});
}
function second(){
document.addEventListener('keydown',function(event){
if(event.keyCode == 37){
start2 = new Date().getTime();
//console.log("L " + start);
}
else if(event.keyCode == 39){
var delta2 = new Date().getTime() - start2;
console.log("Second round input is " + delta2 );
start2 = 0;
}
});
}
window.onload = run;