Example usage for com.badlogic.gdx.controllers ControllerAdapter ControllerAdapter

List of usage examples for com.badlogic.gdx.controllers ControllerAdapter ControllerAdapter

Introduction

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

Prototype

ControllerAdapter

Source Link

Usage

From source file:com.agateau.ui.GamepadInputMappers.java

License:Open Source License

private GamepadInputMappers() {
    Array<Controller> controllers = Controllers.getControllers();
    for (int idx = 0; idx < mMappers.length; ++idx) {
        Controller controller = idx < controllers.size ? controllers.get(idx) : null;
        mMappers[idx] = new GamepadInputMapper(controller);
    }//from  w w w . jav  a2s  . co m

    Controllers.addListener(new ControllerAdapter() {
        @Override
        public void connected(Controller controller) {
            for (GamepadInputMapper mapper : mMappers) {
                if (mapper.getController() == null) {
                    mapper.setController(controller);
                    break;
                }
            }
            mListeners.begin();
            for (Listener listener : mListeners) {
                listener.onGamepadConnected();
            }
            mListeners.end();
        }

        @Override
        public void disconnected(Controller controller) {
            for (GamepadInputMapper mapper : mMappers) {
                if (mapper.getController() == controller) {
                    mapper.setController(null);
                    break;
                }
            }
            mListeners.begin();
            for (Listener listener : mListeners) {
                listener.onGamepadDisconnected();
            }
            mListeners.end();
        }
    });
}

From source file:com.badlogic.invaders.screens.GameOver.java

License:Apache License

public GameOver(Invaders invaders) {
    super(invaders);
    spriteBatch = new SpriteBatch();
    background = new Texture(Gdx.files.internal("data/planet.jpg"));
    background.setFilter(TextureFilter.Linear, TextureFilter.Linear);

    logo = new Texture(Gdx.files.internal("data/title.png"));
    logo.setFilter(TextureFilter.Linear, TextureFilter.Linear);

    font = new BitmapFont(Gdx.files.internal("data/font16.fnt"), Gdx.files.internal("data/font16.png"), false);

    if (invaders.getController() != null) {
        invaders.getController().addListener(new ControllerAdapter() {
            @Override/*  ww w .  j a v a2 s . c o  m*/
            public boolean buttonUp(Controller controller, int buttonIndex) {
                controller.removeListener(this);
                isDone = true;
                return false;
            }
        });
    }
}

From source file:com.badlogic.invaders.screens.MainMenu.java

License:Apache License

public MainMenu(Invaders invaders) {
    super(invaders);

    spriteBatch = new SpriteBatch();
    background = new Texture(Gdx.files.internal("data/planet.jpg"));
    background.setFilter(TextureFilter.Linear, TextureFilter.Linear);

    logo = new Texture(Gdx.files.internal("data/title.png"));
    logo.setFilter(TextureFilter.Linear, TextureFilter.Linear);

    font = new BitmapFont(Gdx.files.internal("data/font16.fnt"), Gdx.files.internal("data/font16.png"), false);

    if (invaders.getController() != null) {
        invaders.getController().addListener(new ControllerAdapter() {
            @Override/*from  w w w .ja v  a2s. co m*/
            public boolean buttonUp(Controller controller, int buttonIndex) {
                controller.removeListener(this);
                isDone = true;
                return false;
            }
        });
    }
}

From source file:com.explatcreations.sft.Game.java

License:Open Source License

private static void diagnoseGamepad() {

    System.out.println("Controller Name = " + Controllers.getControllers().get(0).getName());
    Controllers.addListener(new ControllerAdapter() {
        @Override/*from ww w.j  a  v  a  2s  .  co m*/
        public boolean buttonDown(Controller controller, int buttonIndex) {
            System.out.printf("buttonDown <%d>\n", buttonIndex);
            return false;
        }

        @Override
        public boolean axisMoved(Controller controller, int axisIndex, float value) {
            if (Math.abs(value) < 0.1f) {
                return false;
            }

            System.out.printf("axisMoved <%d,%f>\n", axisIndex, value);
            return false;
        }

        @Override
        public boolean povMoved(Controller controller, int povIndex, PovDirection value) {
            System.out.printf("povMoved <%d, %s>\n", povIndex, value);
            return false;
        }

        @Override
        public boolean xSliderMoved(Controller controller, int sliderIndex, boolean value) {
            System.out.printf("xSliderMoved <%d, %b>\n", sliderIndex, value);
            return false;
        }

        @Override
        public boolean ySliderMoved(Controller controller, int sliderIndex, boolean value) {
            System.out.printf("ySliderMoved <%d, %b>\n", sliderIndex, value);
            return false;
        }

        @Override
        public boolean accelerometerMoved(Controller controller, int accelerometerIndex, Vector3 value) {
            System.out.printf("accelerometerMoved <%d, (%s)> ", accelerometerIndex, value.toString());
            return false;
        }
    });
}

From source file:com.explatcreations.sft.gui.ControlWidget.java

License:Open Source License

@Override
public void updateSelected() {
    highlight.update();//from   w  w w .  jav  a2 s .com
    if (Controls.Enter.justPressed() && !isActive()) {
        final ControllerAdapter controllerListener = new ControllerAdapter() {
            @Override
            public boolean buttonDown(Controller controller, int buttonIndex) {
                for (JoypadButton button : JoypadButton.getAll()) {
                    if (!(button.info instanceof FaceInfo)) {
                        continue;
                    }
                    final FaceInfo info = (FaceInfo) button.info;
                    if (info.code == buttonIndex) {
                        Controls.setButton(name, button);
                        isActive = false;
                        resyncAllAction.eval();
                        Gdx.input.setInputProcessor(null);
                        Controllers.removeListener(this);
                    }
                }
                return false;
            }

            private void changeAxis(int axisIndex, int sign) {
                for (JoypadButton button : JoypadButton.getAll()) {
                    if (!(button.info instanceof AxisInfo)) {
                        continue;
                    }
                    final AxisInfo info = (AxisInfo) button.info;
                    if (info.axisIndex == axisIndex && info.sign == sign) {
                        Controls.setButton(name, button);
                        isActive = false;
                        resyncAllAction.eval();
                        Gdx.input.setInputProcessor(null);
                        Controllers.removeListener(this);
                    }

                }
            }

            @Override
            public boolean axisMoved(Controller controller, int axisIndex, float value) {
                final int rounded = JoypadHelper.round(value);
                changeAxis(axisIndex, rounded);
                return false;
            }

            @Override
            public boolean povMoved(Controller controller, int povIndex, PovDirection value) {
                final int sign;
                final int axisIndex;
                if (value == PovDirection.east) {
                    axisIndex = Controls.HorizontalAxis;
                    sign = 1;
                } else if (value == PovDirection.north) {
                    axisIndex = Controls.VerticalAxis;
                    sign = -1;
                } else if (value == PovDirection.south) {
                    axisIndex = Controls.VerticalAxis;
                    sign = 1;
                } else if (value == PovDirection.west) {
                    axisIndex = Controls.HorizontalAxis;
                    sign = -1;
                } else {
                    return false;
                }
                changeAxis(axisIndex, sign);
                return false;
            }
        };
        final InputAdapter inputListener = new InputAdapter() {
            @Override
            public boolean keyDown(int keycode) {
                isActive = false;
                Controls.setKey(name, keycode);
                resyncAllAction.eval();
                Gdx.input.setInputProcessor(null);
                Controllers.removeListener(controllerListener);
                return false;
            }
        };

        Gdx.input.setInputProcessor(inputListener);
        Controllers.addListener(controllerListener);
        isActive = true;
    } else if (isActive()) {

    }
}