2012-01-25 3 views
0

je veux montrer une image, puis attendre pour obtenir l'entrée (je veux dire toucher), après cela vérifier avec la position de l'image. le lot doit rester en alerte pour mon entrée. mais je ne sais pas où je dois comparer, entrée et position de pic. ou comment je dois utiliser attendre, pour créer un délai pour obtenir une entrée tactile. par exemple, j'utilise ce code. mais il montre juste l'écran noir ...Comment utiliser attendre pour le lot dans Libgdx

public void render() { 
    x = rand.nextFloat() * 1024; 
    y = rand.nextFloat() * 700; 
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    batch.begin(); 
    batch.draw(texture, x, y); 
    if (Gdx.input.justTouched()) { 
     if (Gdx.input.getX() > x && Gdx.input.getX() < texture.getWidth() + x) { 
      if (Gdx.input.getY() > y && Gdx.input.getY() < texture.getHeight() + y) { 
       batch.end(); 
      } 
     } 
    } 
} 

ou utilisez l'attente pour créer le retard dans l'image d'exposition.

public void render() { 
    x = rand.nextFloat() * 1024; 
    y = rand.nextFloat() * 700; 
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    batch.begin(); 
    batch.draw(texture, x, y); 
    try { 
     batch.wait(); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    batch.end(); 
} 

Je commence juste gdx et android. désolé pour ma mauvaise langue.

Répondre

2

Vous n'avez pas besoin d'attendre la saisie. Le thread d'application principal interroge les événements d'entrée pour vous. Si, par exemple, le bouton de la souris est enfoncé, cet événement est interrogé et vous pouvez vérifier si la souris gauche est actuellement enfoncée dans votre méthode render() et agir en conséquence. Par exemple:

public void render() { 
    ... 
    if(Gdx.input.isButtonPressed(Buttons.LEFT)) { 
     //move sprite left 
    } 
} 

Cependant, je pense que le meilleur moyen est d'utiliser InputProcessor. Mettre en œuvre InputProcessor et l'enregistrer:

Gdx.input.setInputProcessor(yourInputProcessor); 

Dans ce cas, les principaux processus de fil d'application sondé les événements, et appelle les méthodes de rappel de InputProcessor.

Voir:

+0

Merci beaucoup pour votre aide. Je pense que inputProcessor est meilleur. – Hosein

Questions connexes