我正在製作這個遊戲(入侵者克隆; https://codepen.io/laughingskull/pen/NaWWzE?editors=0010)。我想將船舶左右移動,當控制按下時,船將會開槍。 問題是什麼時候釋放控制,船停止移動。 我已經結合此功能KEYDOWN:如何繼續keyyd被觸發後的keydown事件
checkKey: function(e) {
e = e || window.event;
if (e.keyCode in map) {
map[e.keyCode] = true;
e.preventDefault();
GAME.respond();
}
和這對KEYUP:
clearKey: function(e) {
e = e || window.event;
if (e.keyCode in map) {
map[e.keyCode] = false;
}
if (e.keyCode === 17){
GAME.respond();
}
GAME.respond()看起來像這樣:
respond: function(){
console.log("map", map);
if (map[17]) {
SHIP.shoot();
}
if (map[37]) {
SHIP.move(LEFT);
return;
}
if (map[39]) {
SHIP.move(RIGHT);
return;
}
if (map[38]) {
SHIP.move(UP);
return;
}
if (map[40]) {
SHIP.move(DOWN);
return;
}
},
鍵按壓經由被映射地圖對象(在別處聲明)。 問題是Keyup事件觸發後,即使方向鍵仍然沒有發生。我怎樣才能恢復以下按鍵?
看看Phaser.js侵略者的例子,它的實施方式應該給你一個關於如何做你的提示。 http://phaser.io/examples/v2/games/invaders – IamSilviu