1
當你寫東西,你不斷按下一個鍵(讓我們說'a')它會寫下'a',那麼你的電腦將等待約200ms('空閒時間「),只有當你持有鑰匙時,它纔會大量地寫出'a'。 由於各種原因(主要是遊戲控制)我想刪除'空閒時間',我該怎麼去做呢?刪除「空閒時間」,同時保持按下一個鍵
當你寫東西,你不斷按下一個鍵(讓我們說'a')它會寫下'a',那麼你的電腦將等待約200ms('空閒時間「),只有當你持有鑰匙時,它纔會大量地寫出'a'。 由於各種原因(主要是遊戲控制)我想刪除'空閒時間',我該怎麼去做呢?刪除「空閒時間」,同時保持按下一個鍵
你基本上只是想開始一個計時圈時,按下該鍵,做什麼,然後結束計時循環當你讓鑰匙去:這裏是我怎麼會去這樣做:
得到知道鍵是否關閉的變量,然後將keydown事件監聽器添加到任何按鍵上的鍵,這會觸發定時循環函數,該函數在變量爲false時停止,並添加使變量爲false的鍵盤事件偵聽器,像這樣:
document.addEventListener('keydown', function(e){if(!pressed)loop(e)});
function loop(e){
if(pressed) window.setTimeout(function(){loop(e), 20 /*just insert the ms between each loop*/};
//do stuff with the key, using the 'e' parameter;
}
document.addEventListener('keyup', function(e){pressed=false});
當然,你必須爲每個鍵做到這一點,但你可以使用自動生成的數組,而且因爲你主要用它來進行遊戲控制,所以我認爲你不需要很多這些東西,所以這對你很好用