2017-08-06 5 views
0

Je suis novice en programmation de jeux et encore plus en libGDX. J'apprécierais que quelqu'un puisse regarder ce problème. En termes simples, je fais maintenant un jeu d'oiseau flappy. J'ai utilisé Gdx.input.istouched pour vérifier si un point de l'écran vient d'être touché. Si c'est le cas, le reste du code appelle sur bird.jump(). Cela fonctionne bien jusqu'à ce que j'ajoute un bouton pause. Maintenant, l'oiseau saute avant que le bouton ne soit en mesure de mettre le jeu en pause. Comment puis-je faire une pause et ne pas faire sauter l'oiseau quand j'appuie sur le bouton pause?Comment avoir Gdx.input.istouched retourner false quand j'ai appuyé sur un bouton?

Vous pouvez voir mon code si vous voulez, je le fais ouvrir de toute façon. C'est mon code.

+0

Vous devriez lire le guide pour poser des questions, en particulier sur la façon de fournir un exemple Comment créer un exemple minimal, complet et vérifiable. Vous devriez également inclure le code pertinent dans votre question. – alexi2

+0

N'utilisez pas justTouched. Utilisez un InputListener. – Tenfour04

Répondre

1

Utilisez InputProcessor et remplacez la méthode touchDown(..) de l'écouteur. De plus, vous devez utiliser cet écouteur avec votre InputProcessor.

InputMultiplexer inputMultiplexer=new InputMultiplexer(); 
    inputMultiplexer.addProcessor(new InputAdapter() { 

     @Override 
     public boolean touchDown(int screenX, int screenY, int pointer, int button) { 

      bird.jump(); 
      return super.touchDown(screenX, screenY, pointer, button); 
     } 
    }); 

inputMultiplexer.addProcessor(scoreAndButton.stage); 
Gdx.input.setInputProcessor(inputMultiplexer);