Vedere http://code.google.com/p/libgdx/wiki/InputEvent - è necessario per gestire gli eventi in ingresso invece del polling, estendendo InputProcessor e passando il processore di input personalizzato per 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;
}
}
E dovunque si desidera utilizzare che:
MyInputProcessor inputProcessor = new MyInputProcessor();
Gdx.input.setInputProcessor(inputProcessor);
Se è più facile da usare questo schema:
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() {
}
}
fonte
2013-07-14 22:55:21
Mi potete dare maggiori dettagli su quale funzione dovrei usare? in InputEvent, non vedo dove sia la funzione di cui ho bisogno. – LeSam
Ho bisogno di controllare quando il mouse è stato premuto, il che significa che anche se il mouse viene premuto per un lungo periodo, il codice verrà eseguito solo UNA VOLTA, quando il mouse è appena cliccato – LeSam
Sì, InputProcessor lo farà per te. Modifica la risposta per fornire maggiori dettagli presto. –