每次按下键都需要递增1-JavaFx

时间:2016-12-07 05:36:20

标签: java javafx draw increment

每次按下一个键,在这种情况下,我需要我的p1Start值,在这种情况下p1StartX增加1.这用于“绘制”矩形类型的2D数组中的路径。

我的问题是,它只增加一次。我该如何解决这个问题?

 scene2.setOnKeyPressed(e -> {
        int p1StartX = 5;
        int p1StartY = 25;
        int p2StartX = 60;
        int p2StartY = 25;

        if (e.getCode() == KeyCode.LEFT) {
            p1.setDirection(1);
            p1.update();
        } else if (e.getCode() == KeyCode.RIGHT) {
            p1StartX++;
            gameGrid[p1StartY][p1StartX].setFill(p1.getPlayerClr());

            System.out.println("Player 1: Right");

        }

1 个答案:

答案 0 :(得分:0)

这是因为p1StartX是在侦听器范围内定义的。

将它移动到一个类成员(静态或不是 - 直到您的设计...) - 事情将是O.K。

此外,我非常确定这适用于您定义的所有int值。

像这样:

//some class definition...
private int p1StartX;

//Use a constructor to init the value of p1StartX.

...

scene2.setOnKeyPressed(e -> {

    ....

        p1StartX++;

    }