我正在使用Java libgdx游戏库,想知道如何判断键盘按键是否一直被按住而不是只按下和松开。
我需要知道这个信息,因为我想在按键被按下时播放较短的mp3文件,在按键被长按时播放较长的mp3文件。
我正在使用Java libgdx游戏库,想知道如何判断键盘按键是否一直被按住而不是只按下和松开。
我需要知道这个信息,因为我想在按键被按下时播放较短的mp3文件,在按键被长按时播放较长的mp3文件。
是的,你可以通过Gdx.input.isKeyPressed(Input.Keys.XXX)
来轻松检查它们,或者通过实现一个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;
}
}
像这样使用:
MyInputProcessor processor = new MyInputProcessor();
Gdx.input.setInputProcessor(processor);
...
if (processor.keyPressed) {
// do some stuff
}
你可以在这里阅读更多相关内容。
Gdx.input.isKeyPressed
方法可以保持按下状态,但应该有一种简单的方法来使用Interface
使其工作。 - Madmenyo