JavaFXで簡単なシューティングを作っています。
KeyCodeクラス の LEFT RIGHT UP DOWNで操作し、SPACEで球を打つよう設計しようとしましたが、
UP+RIGHT+SPACEの場合はそれぞれがonKeyPressedに渡されるのですが、UP+LEFT+SPACE, LEFT+DOWN+SPACEなどほかの組み合わせだと、
SPACEキーのイベントのみが渡されません。(追記:どうやら3つめに押されたキーが渡らないようです)
以下コード(Kotlinから訳しつつ(完璧でないです)、抜粋しています)
Java
1Map<KeyCode, Long> pressingKey = HashMap<>()
Java
1public void start(Stage stage) { 2 3 // 4 5 stage.getScene().setOnKeyPressed((it)->{ 6 7 GameData.pressingKey.set(it.code, GameData.pressingKey.getOrElse(it.code, {0}) + 1) 8 if(it.code == KeyCode.SPACE) 9 System.out.println(System.currentTimeMillis()) 10 //ここで確認 11 12 }) 13 14 // 15 16} 17