我正在寫在JavaScript中一個簡單的遊戲,它已經處理基本的鍵盤輸入,像這樣:如何在主遊戲循環中處理關鍵事件?
var input = {};
document.onkeydown = function(e) {
input[e.keyCode] = true;
}
document.onkeyup = function(e) {
input[e.keyCode] = false;
}
while (!done) {
handleInput(input);
update();
render();
}
現在我需要遊戲手柄的按鍵組合(如CTRL + X爲例)。我希望它能接受這樣的組合,keyup
只,。
編輯:修飾鍵不需要與「主」鍵同時完成。 /編輯進入我的腦海
兩個可能的解決方案是:
- 暴露含
keyup
事件的列表(對象與「主」鍵加修飾)的陣列。handleInput
函數將負責每次輪詢時排空隊列 - 跟蹤
handleInput
(注意按住修改鍵)內可能的組合鍵,並在「主」鍵上升時觸發組合行爲(實際上我不喜歡這麼多)
你會建議我一個優雅的方式來擴展當前的功能嗎?
反正,很好的問題! – PDKnight