有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何处理输入

我目前正在尝试使用scene2d在Libgdx中构建一个选项菜单,我正在尝试找到一种方法来处理用户输入

我想在按下安卓上的back键时实现返回主菜单,但我不确定如何操作,因为其余的输入(按下按钮)将由我的后台处理

如果您对如何处理此问题以及我如何正确处理用户输入有任何想法,请回复。我没有包含任何代码,因为这更多的是关于如何处理它,而不是我的代码中的实际问题

谢谢, 瓦伦丁


共 (1) 个答案

  1. # 1 楼答案

    你需要创建一个InputProcessor并实现它的方法,因为back键与Stage是分开的,所以没有办法解决这个问题。您还需要有一种从InputProcessor访问主菜单对象的方法;假设你正在使用游戏和屏幕,这是一种方法:

    public class OptionsScreen implements Screen, InputProcessor {
        final MyGame game;
        public OptionsScreen(MyGame game) { this.game = game; }
        ...
        @Override
        public boolean keyUp(int keycode) {
            if(keycode == Keys.BACK) {
                game.setScreen(game.mainScreen);
                return true;
            }
            return false;
        }
        ...
    }
    

    其中game.mainScreen是主菜单的屏幕。它也可能是一个新创建的实例。当然,在能够通过Gdx.input.setCatchBackKey(true);捕获它之前,还必须启用back键

    我希望这能回答你的问题