如何在JavaFX中为游戏实现控制系统?

时间:2016-09-13 18:38:18

标签: java javafx

我正在尝试使用javaFX为我的简单2D游戏创建一个控制系统。我做了大量的研究,无法想出任何东西。

我想做什么:我想设置一系列特殊的关键事件来控制船只并调出暂停菜单。当我试图使用与此类似的东西来显示暂停菜单时

gameScene.setOnKeyPressed(new EventHandler<KeyEvent>() {
        public void handle(KeyEvent e) {
            if (e.equals(KeyCode.P) {

            }
        }
    }); 

我得到一个“类型Scene中的方法setOnKeyPressed(EventHandler)不适用于参数(new EventHandler(){})”警告参考EventHandler的类型参数。我已经看到过这个表达式的例子正在以这种方式使用。我希望'P'成为拉出暂停菜单的关键。我不确定为什么会收到此错误。在一边投票,我想知道我应该用什么方法来显示场景或窗格?

1 个答案:

答案 0 :(得分:0)

我这样做的方法是在场景的根窗格上设置onKeyPressed。

类似

BorderPane root = new BorderPane();
root.setOnKeyPressed((KeyEvent e) -> {
    if (e.getCode().equals(KeyCode.P) {
        //Open Pause Menu  
    }
});

编辑1: 不要忘记使用root来打开你的场景。

Scene gameScene = new Scene(root);
stage.setScene(gameScene);
stage.show();