Libgdx - Check if a key is being held down?

cross-platform, html, java, libgdx

Solution

Yes, you can easily check they either via `Gdx.input.isKeyPressed(Input.Keys.XXX)` or by implementing an `InputProcessor`.

public class MyInputProcessor implements InputProcessor {

    public boolean keyPressed;

    @Override
    public boolean keyDown(int keycode) {
        if (keycode == Input.Keys.XXX) {
            keyPressed = true;
        }

        return false;
    }

    @Override
    public boolean keyUp(int keycode) {
        if (keycode == Input.Keys.XXX) {
            keyPressed = false;
        }

        return false;
    }
}

And using it like this:

MyInputProcessor processor = new MyInputProcessor();
Gdx.input.setInputProcessor(processor);

...

if (processor.keyPressed) {
    // do some stuff
}

You can read more about that here.

Problem

I'm using the java libgdx game library and im curious if I can tell if a key is being HELD, not pressed and let go. I need to know this because I'm going to play a shorter mp3 file if it is just pressed and a longer one if it is held.

Original source