JavaFX ActionEvent e 只激活一次

JavaFX ActionEvent e only activating one time

我目前正在尝试制作一个 JavaFX 程序,它可以使用 UP 键向上移动图像,但它只在我最初的按键点击后工作一次。第一个之后的任何内容都不起作用。

game.setOnKeyPressed(e->begin()); 

public void begin() {
    birdView.setTranslateY(birdView.getTranslateX() - 100);
}

如果场景中有多个 Nodes,请确保除 birdView 之外的所有节点都将 属性 focusTraversable 设置为 false

focusTraversable="false"

此外,您没有在任何变量中记录 birdView 的更新 TranslateX 状态。将更新后的 TranslateX 存储在某个变量中,并在下一次按键事件时递增

private double x = 0; //instance variable

game.setOnKeyPressed(e->begin()); 

public void begin() {
    x += birdView.getTranslateX()-100;   
    birdView.setTranslateY(x);
}