在render()或libgdx中使用InputProcessor检测用户输入 [英] Detect user input in render() or using InputProcessor in libgdx
问题描述
我是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屋!