私は単純なjavascriptゲームを作っており、スペースバーを使ってミスを撃っています。私keyDownHandlerでJavaScript EventListenerでキーを押さえているユーザを扱う
document.addEventListener("keydown", keyDownHandler, false);
document.addEventListener("keyup", keyUpHandler, false);
function keyDownHandler(e){
if(e.keyCode == 39){
rightPressed = true;
}
else if(e.keyCode == 37){
leftPressed =true;
}
else if(e.keyCode == 32){ //Keycode for space bar
missleFired = true;
}
}
function keyUpHandler(e){
if(e.keyCode == 39){
rightPressed = false;
}
else if(e.keyCode == 37){
leftPressed = false;
}
}
が、私は、ユーザーが宇宙船を左右に、またはユーザーが押したときにスペースバーを撮影するために移動しているとき、それはキャッチするために使用しています:私は問題を抱えているのはここ
です。問題は、最初にバーが押されたときだけ、 "missleFired"変数をtrueに設定することです。現在の状況では、ユーザーはスペースバーを押し下げてミサイルを爆発させることができますが、スペースバーを離してから解放するまで、1つのミサイルしか撃たれません。これどうやってするの?
あなたはそれを表示しませんが、これはゲームループの文脈にありますか?ミサイルを発射する機能から 'missleFired = false'を設定するだけで、ユーザーがスペースバーを放して次のミサイルを発射するために再び押すことができますか? – nnnnnn
ミサイルを撃つコードはどこですか? –
私はそれを男から見いだした!あなたが私が思いついたことに興味があるなら、私の答えをチェックしてください。 –