Программирование клавиатуры с помощью JInput (Java)

Я программирую игру на Java (Jogl, JInput). Я не уверен насчет моего кода. Как записать силу клавиш? Сначала я записываю пару (keyName, millisTime) для любого события клавиатуры. Затем я пытаюсь обновить состояние игры новым значением ключа.

Я думаю, что у меня есть ошибка с первой частью кода.

                PositionButton pb = positionButtonList.get(comp.getName());
                System.out.println(comp.getName());
                pb.nanotimeEllapsed = System.nanoTime() - pb.startTime;
                pb.startTime = System.nanoTime() - pb.nanotimeEllapsed;


public void on(String compName, float value) {
    System.out.println(compName + "|" + value);

    if (positionButtonList.get(compName) == null) {
        System.exit(-1);
    }
    long move;
    System.out.println("Move intensity: "+(move = (long) (value * positionButtonList.get(compName).nanotimeEllapsed / 1000.0)));
    switch (compName) {
        case "Axe X":
            if (move > 0) {
                if (positionButtonList.get(compName) != null) {
                    positionUpdate.rotationDroite(move);

                }
            } else if (positionButtonList.get(compName) != null) {
                positionUpdate.rotationGauche(-move);
            }
            break;
        case "Axe Y":
            if (move > 0) {
                if (positionButtonList.get(compName) != null) {
                    positionUpdate.acc(move);

                }
            } else if (positionButtonList.get(compName) != null) {
                positionUpdate.dec(-move);
            }
            break;
    }
}

Полный код: https://gitlab.com/LaboManu/Power-and-Damages/blob/master/src/be/manudahmen/emptycanvas/apps/darz/input/Joystick.java

0 ответов

Другие вопросы по тегам