См http://code.google.com/p/libgdx/wiki/InputEvent - вам нужно обрабатывать событие ввода вместо опроса, путем расширения InputProcessor и передавая свой собственный процессор ввода в Gdx.input.setInputProcessor().
EDIT:
public class MyInputProcessor implements InputProcessor {
@Override
public boolean touchDown (int x, int y, int pointer, int button) {
if (button == Input.Buttons.LEFT) {
// Some stuff
return true;
}
return false;
}
}
И везде, где вы хотите использовать, что:
MyInputProcessor inputProcessor = new MyInputProcessor();
Gdx.input.setInputProcessor(inputProcessor);
Если найти его проще использовать этот шаблон:
class AwesomeGameClass {
public void init() {
Gdx.input.setInputProcessor(new InputProcessor() {
@Override
public boolean TouchDown(int x, int y, int pointer, int button) {
if (button == Input.Buttons.LEFT) {
onMouseDown();
return true;
}
return false
}
... the other implementations for InputProcessor go here, if you're using Eclipse or Intellij they'll add them in automatically ...
});
}
private void onMouseDown() {
}
}
Можете ли вы дать мне более подробно о том, какие функции я должен использовать? в InputEvent, я не вижу, где функция, которая мне нужна. – LeSam
Мне нужно проверить, когда мышь просто щелкнула, что означает, что даже если мышь нажата в течение длительного времени, код будет исполнять только ОДИН РАЗ, когда мышь только что нажала – LeSam
Да, InputProcessor сделает это за вас. Редактирование ответа для более подробной информации. –