JavaFXKeyEvent赢得';不要移动物体

JavaFXKeyEvent赢得';不要移动物体,java,javafx,keyevent,Java,Javafx,Keyevent,我目前正在尝试制作一个非常简单的游戏,作为使用JavaFX可以做什么的实验,我有一个代表一个人的小矩形。这个矩形是在一个窗格中设置的,我正试图找出最好的方法,这样箭头键就能让他向左移动5像素。下面的代码是我正在尝试的。如果您知道如何使这个代码工作,或者有更好的代码,我将非常感激 scene.setOnKeyPressed(new EventHandler<KeyEvent>() { @Override public void handle(KeyEve

我目前正在尝试制作一个非常简单的游戏,作为使用JavaFX可以做什么的实验,我有一个代表一个人的小矩形。这个矩形是在一个窗格中设置的,我正试图找出最好的方法,这样箭头键就能让他向左移动5像素。下面的代码是我正在尝试的。如果您知道如何使这个代码工作,或者有更好的代码,我将非常感激

scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent ke) {
            if(ke.equals(KeyCode.KP_LEFT)) {
                int xLoc = (int)avatar.getX();
                int newX = xLoc - 5;
                int yLoc = (int)avatar.getY();
                avatar.relocate(newX, yLoc);
            }
        }
    });
scene.setOnKeyPressed(新的EventHandler(){
@凌驾
公共无效句柄(KeyEvent ke){
if(ke.equals(KeyCode.KP_左)){
intxloc=(int)avatar.getX();
int newX=xLoc-5;
int-yLoc=(int)avatar.getY();
阿凡达。重新定位(纽克斯,洛城);
}
}
});

谢谢大家!

KeyEvent不是代码,您需要
getCode()


KeyEvent
不是代码,您需要
getCode()


此外,由于
KP_LEFT
是一个枚举常量,
=
足以比较这些值。感谢您的帮助。尽管如此,角色还是不会移动。有什么想法吗?@PorterFarley在这一点上,如果不提供更多的代码,很难进一步推断。我们需要知道什么是
avatar
,以及它是如何声明/定义的。我们肯定需要知道
relocate()
方法的作用。此外,在运行调试时放置断点也将有助于您调试该断点;
avatar.relocate()
是否在运行时执行?KP_Left->您使用的是左边的数字键盘。确保Num Lock已关闭。感谢大家的帮助。我对Stack还是个新手,不知道该怎么办。我发现了一个单独的解决方案,通过使用屏幕上的按钮来移动,但我会确保在我提出的任何进一步问题中更改这些内容。再次感谢。此外,由于
KP_LEFT
是一个枚举常量,
=
足以比较这些值。感谢您的帮助。尽管如此,角色还是不会移动。有什么想法吗?@PorterFarley在这一点上,如果不提供更多的代码,很难进一步推断。我们需要知道什么是
avatar
,以及它是如何声明/定义的。我们肯定需要知道
relocate()
方法的作用。此外,在运行调试时放置断点也将有助于您调试该断点;
avatar.relocate()
是否在运行时执行?KP_Left->您使用的是左边的数字键盘。确保Num Lock已关闭。感谢大家的帮助。我对Stack还是个新手,不知道该怎么办。我发现了一个单独的解决方案,通过使用屏幕上的按钮来移动,但我会确保在我提出的任何进一步问题中更改这些内容。再次感谢你。
if (ke.getCode().equals(KeyCode.KP_LEFT))