Example usage for com.badlogic.gdx.controllers Controller getAxis

List of usage examples for com.badlogic.gdx.controllers Controller getAxis

Introduction

In this page you can find the example usage for com.badlogic.gdx.controllers Controller getAxis.

Prototype

public float getAxis(int axisCode);

Source Link

Usage

From source file:org.matheusdev.ror.net.packages.Input.java

License:Open Source License

public void set(long time, Controller gamepad) {
    steer.set(0, 0);//w ww .  j av a 2  s .  c  o  m

    if (Gdx.input.isKeyPressed(Config.get().key("up")))
        steer.y += 1f;
    if (Gdx.input.isKeyPressed(Config.get().key("down")))
        steer.y -= 1f;
    if (Gdx.input.isKeyPressed(Config.get().key("left")))
        steer.x -= 1f;
    if (Gdx.input.isKeyPressed(Config.get().key("right")))
        steer.x += 1f;

    if (Config.get().enableGamepad && gamepad != null) {
        float xGamepad = gamepad.getAxis(Config.get().gamepadX);
        float yGamepad = gamepad.getAxis(Config.get().gamepadY);

        if (FloatUtils.equalsEpsilon(xGamepad, 0f, 0.1f)) {
            xGamepad = 0f;
        }
        if (FloatUtils.equalsEpsilon(yGamepad, 0f, 0.1f)) {
            yGamepad = 0f;
        }

        if (!FloatUtils.equalsEpsilon(xGamepad, 0, 0.1f) || !FloatUtils.equalsEpsilon(yGamepad, 0, 0.1f)) {
            steer.x += xGamepad;
            steer.y += -yGamepad;
        }
    }

    float len = steer.len();
    len = Math.min(1f, len);
    steer.nor().scl(len);

    steerx = steer.x;
    steery = steer.y;
}

From source file:org.matheusdev.ror.screens.ScreenSettings.java

License:Open Source License

@Override
public void tick(float delta) {
    stage.act(delta);/*w  w  w  .  j  a va 2 s . c o m*/
    if (gamepadRead) {
        search: for (Controller pad : Controllers.getControllers()) {
            for (int i = 0; i < 4; i++) {
                if (!FloatUtils.equalsEpsilon(pad.getAxis(i), 0, 0.1f)) {
                    Config.get().gamepad = pad.getName();
                    gamepadButton.setText(Config.get().gamepad);
                    gamepadButton.setChecked(false);
                    gamepadRead = false;
                    break search;
                }
            }
        }
    }
    if (gamepadButton != null) {
        if (gamepadXAxisRead) {
            for (int i = 0; i < 4; i++) {
                if (!FloatUtils.equalsEpsilon(gamepad.getAxis(i), 0f, 0.5f)) {
                    Config.get().gamepadX = i;
                    gamepadXAxisRead = false;
                    gamepadX.setChecked(false);
                    gamepadX.setText("Record");
                    break;
                }
            }
        }
        if (gamepadYAxisRead) {
            for (int i = 0; i < 4; i++) {
                if (!FloatUtils.equalsEpsilon(gamepad.getAxis(i), 0f, 0.5f)) {
                    Config.get().gamepadY = i;
                    gamepadYAxisRead = false;
                    gamepadY.setChecked(false);
                    gamepadY.setText("Record");
                    break;
                }
            }
        }
    }
}