Pour mon jeu, j'aimerais que le bouton Android retour pour vous amener au menu pause, au lieu de minimiser le jeu. D'après ce que j'ai googlé, je sais que je dois appeler
Gdx.input.setCatchBackKey(true);
Mais comment puis-je vérifier la pression du bouton? input.isKeyDown (Keys.BACK) ne semble rien faire.
J'ai résolu le problème comme ceci:
public class MyApplication implements ApplicationListener, InputProcessor {
// !! Remember to override all other required methods !!
...
@Override
public void create() {
Gdx.input.setInputProcessor(this);
Gdx.input.setCatchBackKey(true);
// rest of your stuff...
}
...
@Override
public boolean keyDown(int keycode) {
if(keycode == Keys.BACK){
// Do your optional back button handling (show pause menu?)
}
return false;
}
...
}
Pas des trucs de copypasta mais j'espère que cela vous aidera. :)
Vous pouvez utiliser la méthode Gdx.input.isKeyPressed.
if (Gdx.input.isKeyPressed(Keys.BACK)){
// Do something
}
Créez d'abord un InputProcessor pour gérer les actions de touche retour, puis ajoutez-le à un multiplexeur afin que les autres composants reçoivent toujours des événements similaires.
InputProcessor backProcessor = new InputAdapter() {
@Override
public boolean keyDown(int keycode) {
if ((keycode == Keys.ESCAPE) || (keycode == Keys.BACK) )
// Maybe perform other operations before exiting
Gdx.app.exit();
return false;
}
};
InputMultiplexer multiplexer = new InputMultiplexer(mStage,
backProcessor);
Gdx.input.setInputProcessor(multiplexer);
Et activez la saisie de la touche retour.
Gdx.input.setCatchBackKey(true);
C'est tout ce qu'il y a. Bonne chance!
Vous pouvez utiliser Gdx.input.isKeyPressed (Keys.BACK) mais si vous voulez que l'activité ne se ferme pas, vous pouvez gérer cela comme:
Gdx.input.setCatchBackKey(true);