From bce22204532d8e7ca4ce67be9d9707de762c9f31 Mon Sep 17 00:00:00 2001 From: Antoine Date: Wed, 2 Jun 2021 15:23:44 +0200 Subject: [PATCH] Exemple utilisation Input --- src/engine/Engine.java | 41 +++++++++++++++++++++--------- src/engine/input/GamepadInput.java | 2 ++ 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/engine/Engine.java b/src/engine/Engine.java index ade39db..0ce61be 100644 --- a/src/engine/Engine.java +++ b/src/engine/Engine.java @@ -1,7 +1,6 @@ package engine; -import engine.input.KeyboardInput; -import engine.input.GamepadInput; +import engine.input.*; import engine.math.*; import engine.object.*; import engine.sound.*; @@ -206,24 +205,42 @@ public class Engine { long lastFrame; int frame = 0; boolean nextFrame = false; - boolean present = glfwJoystickPresent(GLFW_JOYSTICK_1); - - + boolean Joystick1Present = glfwJoystickPresent(GLFW_JOYSTICK_1); + + /* + * Création des manettes / action + */ + + GamepadInput gamepad1 = null; + Button jump = null; + + if (Joystick1Present){ + gamepad1 = new GamepadInput(GLFW_JOYSTICK_1); + gamepad1.inputRefresh(); + List listJump = new ArrayList<>(); + listJump.add(InputConst.buttonA); + jump = new Button("jump", listJump, gamepad1); + + + + } + + while (engine.isRunning()) { lastFrame = System.currentTimeMillis(); // Game logic should fit here - if (present) { - GamepadInput gamepad1 = new GamepadInput(GLFW_JOYSTICK_1); + if (Joystick1Present) { gamepad1.inputRefresh(); - -// System.out.println( " \n left :" + gamepad1.leftJoyLeft + -// " \n right :" + gamepad1.leftJoyRight + -// " \n down :" + gamepad1.leftJoyDown + -// " \n up :" + gamepad1.leftJoyUp); System.out.println(gamepad1.getAxisDiscreet(GLFW_GAMEPAD_AXIS_LEFT_X)); + + // Check si le personnage a sauté + if (jump.isButtonPressed()){ + // Le personnage saute + System.out.println(" JE SAUTE "); + } } // Input.keyboardInput(zangief, speed); diff --git a/src/engine/input/GamepadInput.java b/src/engine/input/GamepadInput.java index 9b68c50..78bce7e 100644 --- a/src/engine/input/GamepadInput.java +++ b/src/engine/input/GamepadInput.java @@ -73,6 +73,8 @@ public class GamepadInput { public GamepadInput (int gamepadNum){ this.gamepadNum = gamepadNum; + this.gamepadAxes = null; + this.gamepadButton = null; this.buttonA_pressed = false; this.buttonB_pressed = false; this.buttonY_pressed = false;