私はゲームを作成しています。ユーザーがキーを押すと、別のキーを押すと機能し、前のキーが機能しなくなり、新しく押されたキーが引き継ぎます。次のブロックを例として使用すると、これは Java の問題ですか、それとも私のコードと関係がありますか?
keyboard.setEvent("LEFT", new AbstractAction(){
@Override
public void actionPerformed(ActionEvent evt){
// Moves an object left
}
});
keyboard.setEvent("SPACE", new AbstractAction(){
@Override
public void actionPerformed(ActionEvent evt){
// Creates and object and moves it upwards
}
});
このメソッド (上記で呼び出されます) がイベントを作成します。
public void setEvent(String key, AbstractAction act){
// Key Pressed
comp.
getInputMap(Room.WHEN_IN_FOCUSED_WINDOW).
put(KeyStroke.getKeyStroke(key), "do" + key + "Action");
comp.
getActionMap().
put("do" + key + "Action", act);
}