在 render() 中检测用户输入或在 libgdx 中使用 InputProcessor [英] Detect user input in render() or using InputProcessor in libgdx

查看:17
本文介绍了在 render() 中检测用户输入或在 libgdx 中使用 InputProcessor的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 libgdx 的新手,我想知道您是否应该使用 render() 方法来获取用户输入,或者是否应该使用 InputProcessor.

I am new to libgdx and I wonder if you should use the render() method to get user input or if you should use the InputProcessor.

推荐答案

您应该使用 InputProcessor 进行用户输入.

You should use InputProcessor for user input.

如果你想匿名写,那么你应该在 show 方法中写:-

if you want to write anonymously then in show method you should write:-

 Gdx.input.setInputProcessor(new InputProcessor() {

        @Override
        public boolean touchUp(int arg0, int arg1, int arg2, int arg3) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean touchDragged(int arg0, int arg1, int arg2) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean touchDown(int arg0, int arg1, int arg2, int arg3) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean scrolled(int arg0) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean mouseMoved(int arg0, int arg1) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean keyUp(int arg0) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean keyTyped(char arg0) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean keyDown(int arg0) {
            // TODO Auto-generated method stub
            return false;
        }
    });

或者您可以在 setInputProcessor 中实现输入处理器和寄存器实例.示例:-

or you can implement input processor and register instance in setInputProcessor. Example:-

     public class InputTest implements InputProcessor {

@Override
public boolean keyDown(int arg0) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean keyTyped(char arg0) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean keyUp(int arg0) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean mouseMoved(int arg0, int arg1) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean scrolled(int arg0) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean touchDown(int arg0, int arg1, int arg2, int arg3) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean touchDragged(int arg0, int arg1, int arg2) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean touchUp(int arg0, int arg1, int arg2, int arg3) {
    // TODO Auto-generated method stub
    return false;
}

}

在你的 screen 类的 show 方法中你应该写:-

in show method of your screen class you should write:-

public void show() {

    Gdx.input.setInputProcessor(new InputTest());
}

在我的建议中,如果您不使用舞台,这两个是获取用户输入的最佳方式.希望这对你有用.

in my suggestion these two are the best way to take user input if you are not using stage. Hope this will work for you.

这篇关于在 render() 中检测用户输入或在 libgdx 中使用 InputProcessor的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆