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

查看:108
本文介绍了在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;
}

}

在屏幕类的显示方法中,您应该编写:-

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天全站免登陆