Pour mon jeu, je voudrais que le bouton Retour d’Android vous amène au menu de pause, au lieu de minimiser le jeu. De 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 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 }
Commencez par créer un InputProcessor pour gérer les actions de 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 permettre d’attraper la clé de 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 souhaitez que l’activité ne se ferme pas, vous pouvez gérer cela comme suit:
Gdx.input.setCatchBackKey(true);