2017-08-19 4 views
2

Je suis un peu confus au sujet de la manipulation tactile de libGDX. J'ai vu l'utilisation de tous les trois types.libGDX quelle est la différence entre InputListener, InputProcessor, InputAdapter

InputProcessor: http://www.gamefromscratch.com/post/2013/10/24/LibGDX-Tutorial-5-Handling-Input-Touch-and-gestures.aspx

public class InputDemo2 implements ApplicationListener, InputProcessor { 
    @Override 
    public void create() {   
     Gdx.input.setInputProcessor(this); 
    } 


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

InputListener ici: http://www.gamefromscratch.com/post/2013/11/27/LibGDX-Tutorial-9-Scene2D-Part-1.aspx

public MyActor(){ 
     setBounds(actorX,actorY,texture.getWidth(),texture.getHeight()); 
     addListener(new InputListener(){ 
      public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { 
       ((MyActor)event.getTarget()).started = true; 
       return true; 
      } 
     }); 
    } 

InputAdapter ici: LibGdx, How to handle touch event?

public class Prac1 extends ApplicationAdapter { 
    @Override 
    public void create() { 
     Gdx.input.setInputProcessor(new InputAdapter(){ 
      @Override 
      public boolean touchDown(int screenX, int screenY, int pointer, int button) { 
       return true; 
      } 

     }); 
    } 

} 

Je ne trouve pas un différent d'un autre. Lequel dois-je utiliser? Merci

Répondre

0

InputListener

InputListener est un EventListener pour les événements d'entrée de bas niveau qui est prévu pour recevoir et traiter InputEvents.

EventListener est une interface avec une méthode handle(Event) ajoutée aux acteurs pour être avertie des événements. Les classes qui implémentent l'interface EventListener utilisent instanceof pour déterminer si elles doivent gérer l'événement.

Un acteur a juste besoin d'ajouter un InputListener pour commencer à recevoir des événements d'entrée.


InputProcessor

Un InputProcessor est utilisé pour recevoir des événements d'entrée provenant du clavier et de l'écran tactile (de la souris sur l'ordinateur de bureau). Pour cela, il doit être enregistré avec la méthode Input.setInputProcessor(InputProcessor). Il sera appelé chaque image avant l'appel à ApplicationListener.render().

InputAdapter

InputAdapter est juste une classe d'adaptateur pour InputProcessor. Si vous souhaitez remplacer uniquement certaines méthodes qui vous intéressent, utilisez cette classe.