問題は、私が説明するほど単純ではありませんが、パラダイムは似ています。だから、このメソッドをwhileループで実行して、xの値が<の間だけ実行し続けるとしましょう。そしてスペースバーが押されたときだけ、xは1だけインクリメントされます。どのように私はそれを正確に行うだろうか?私が書いたことは以下の通りですJava - キーイベントを「リフレッシュ」してwhileループの中で再度呼び出す方法
:
public void keyPressed(String key){
//assume that x = 0
while(x < 100){
if(key.equals("Space")){
x += 1;
}
}
}
私が知っている、私は知っています。私のコードは、スペースバーをたった1回押すだけで、連続的にxをインクリメントします。これは、キーの値がループ全体で同じになるためです。何が行われる必要があるかは、キーの値を「リフレッシュ」し、スペースバーを押して別のキーイベントをトリガーすることです。私はそれをどうやって行うのか分かりません。どんな提案も大歓迎です。ループはあなたがたKeyEventをリッスンスレッドから別のスレッドで実行する必要があります
public void keyPressed(KeyEvent e) {
String key = KeyEvent.getKeyText(e.getKeyCode());
for (GameObject go : gameobjects) {
go.keyPressed(key);
}
}
これは、ゲームを作成するように見えます。何らかのフレームワークを使用していますか? – Nessuno