JavaScriptを使用した2Dプラットフォームゲームでキャラクターのキーボードコントロールを追加しようとしています。文字はwalk, dash and jump
です。ここに私の現在のコードは次のとおりです。2Dプラットフォームゲームで複雑な入力を処理するにはどうすればよいですか?
if(keyboard['LEFT']) {
//walk to left
//...
} else if (keyboard['RIGHT']) {
//walk to right
if(keyboard['SHIFT'] && !jump) {
//dash
}
if(keyboard['JUMP']) {
//jump to right
}
if(keyboard['SHIFT'] && keyboard['JUMP']) {
//dash and jump (move further and faster)
}
if(keyboard['JUMP'] && keyboard['SHIFT']) {
//hold the right key, pressed jump key, and then pressed shift key
//it expected to jump to right here, because character can not dash
//in midair, but it will conflict the if condition above.
}
} else if (keyboard['JUMP'] && onGround) {
//jump
} else if (keyboard['SHIFT']) {
//dash
if(keyboard['JUMP']) {
//dash and jump
}
}
私は私のコードで()他の()文の場合、多くがあることが混乱しています、そして私がそこに簡単な方法をキーボードinputs.Isの順序を制御する必要があると思われますそれを処理するには?私は正しい方法で行っていますか?そうでない場合、それを達成するための一般的な方法は何ですか?どうか、助けていただければ幸いです。
おそらくスイッチケースを使用し、それぞれのケースでそれぞれの機能を呼び出しますか? – Ayan
@Ayanキーボード入力の順序を記録する必要はありますか? – undefined000
「注文を記録する」とはどういう意味ですか?あなたがシーケンスを維持することを意味するなら、NO。ユーザーからの入力(ここではキーが押されている)を受け取り、それぞれの処理を行うだけです。 – Ayan