我正在尝试使用javaFX为我的简单2D游戏创建一个控制系统。我做了大量的研究,无法想出任何东西。
我想做什么:我想设置一系列特殊的关键事件来控制船只并调出暂停菜单。当我试图使用与此类似的东西来显示暂停菜单时
gameScene.setOnKeyPressed(new EventHandler<KeyEvent>() {
public void handle(KeyEvent e) {
if (e.equals(KeyCode.P) {
}
}
});
我得到一个“类型Scene中的方法setOnKeyPressed(EventHandler)不适用于参数(new EventHandler(){})”警告参考EventHandler的类型参数。我已经看到过这个表达式的例子正在以这种方式使用。我希望'P'成为拉出暂停菜单的关键。我不确定为什么会收到此错误。在一边投票,我想知道我应该用什么方法来显示场景或窗格?
答案 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();