0
私は自分のコードを手伝ってくれる人がいたらとても感謝しています。私はゲームを開発する際にコードを学習しています。javaのKeyEventで現在のkeyPressedを更新するにはどうすればよいですか?
- 私は、基本的なPONGゲームのコントロールをスムーズにしようとしていますが、keyEvent/keyPressedにこの問題があります。私は左に行くためにDを使用しています。右にDを押し、Aを押すとDを放しずに、変更を認識して左に移動しますが、Dを押したままAを離しておくと、keyEvent Dが押されたことに気付かず、Dをもう一度押すまでラケットは動かない。 keyEventまたはkeyPressedに、現時点で何が起きているかを更新し、それに反応するように指示する方法はありますか?
ここにコードの一部があります。 p.s.私はオーバーフローと私はまだ学んでいる流暢なJavaプログラマーではなく、スタックの新しいです。私の質問は非常にあいまいまたは非特異的であればごめんなさい... はまた、動きが(1)ラケットの動きの座標を作るのx + = 1と移動(-1)x軸= 1 */
修正試行#1:変更はそれがうまくいくことを望んなされた後
私はこの状況に対処するための最良の方法は、ブール配列を作成することです...、returnステートメントを使用して
public void keyPressed(KeyEvent e) {
//MOVE LEFT
if (e.getKeyCode() == KeyEvent.VK_A){
if(e.getKeyCode() == KeyEvent.VK_D){
move(1);
//maybe update?
return;
}
else
move(-1);
}
//MOVE RIGHT
if (e.getKeyCode() == KeyEvent.VK_D){
if(e.getKeyCode() == KeyEvent.VK_A) {
move(-1);
//maybe update?
return;
}
else
move(1);
}
}
「keys [e.getKeyCode() ] =!pause; "休止は何ですか? – orangeSauce
@orangeSauceこのコードは、既に書いたコードからコピーして貼り付けたものです。今すぐ削除されました – FacelessTiger