Java libgdx:为什么我的InputAdapter没有收到keyUp事件?
我正在用libgdx重新创建一个口袋妖怪游戏,我有一个控制玩家移动的输入适配器,它工作得很好。然后我用另一个InputAdapter来控制我创建的一个显示选项的选项框。(例如,口袋妖怪中的男孩/女孩选项),但它根本不起作用。我在keyUp方法中添加了一个System.out.println来检查它是否会弹出,但不会弹出。有人知道为什么吗Java libgdx:为什么我的InputAdapter没有收到keyUp事件?,java,libgdx,keyup,Java,Libgdx,Keyup,我正在用libgdx重新创建一个口袋妖怪游戏,我有一个控制玩家移动的输入适配器,它工作得很好。然后我用另一个InputAdapter来控制我创建的一个显示选项的选项框。(例如,口袋妖怪中的男孩/女孩选项),但它根本不起作用。我在keyUp方法中添加了一个System.out.println来检查它是否会弹出,但不会弹出。有人知道为什么吗 public class OptionBoxController extends InputAdapter { private OptionBox o
public class OptionBoxController extends InputAdapter {
private OptionBox optionBox;
public OptionBoxController(OptionBox optionBox) {
this.optionBox = optionBox;
}
@Override
public boolean keyUp(int keycode) {
if (keycode == Keys.UP) {
optionBox.moveUp();
} else if (keycode == Keys.DOWN) {
optionBox.moveDown();
}
return false;
}
}
我在屏幕上实现这两个输入适配器,如下所示:
multiplexer = new InputMultiplexer();
playerController = new PlayerController(player);
optionBoxController = new OptionBoxController(optionBox);
multiplexer.addProcessor(0, playerController);
multiplexer.addProcessor(1, optionBoxController);
我真的很愚蠢,我刚刚发现了为什么它不起作用,因为在Screen类的
show()
方法中,我有Gdx.input.setInputProcessor(playerController)代码>而不是Gdx.input.setInputProcessor(多路复用器)代码>所以只有我的playerController在工作。我会把这个帖子留在这里,以防有人有同样的问题