2015-02-09 43 views
1

当前我手动添加InputListener到每个图像。LibGdx/JAVA addlistener到类

类似下面的代码:

grid1 = new Image(gridTex1); 
    grid2 = new Image(gridTex2); 
    grid3 = new Image(gridTex3); 
    grid4 = new Image(gridTex4); 
    grid5 = new Image(gridTex5); 


    grid1.addListener(new InputListener() { 
     @Override 
     public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { 
      //doSomething 
      return true; 
     } 
    }); 
    grid2.addListener(new InputListener() { 
     @Override 
     public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { 
      //doSomething 
      return true; 
     } 
    }); 
    grid3.addListener(new InputListener() { 
     @Override 
     public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { 
      //doSomething 
      return true; 
     } 
    }); 
    grid4.addListener(new InputListener() { 
     @Override 
     public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { 
      //doSomething 
      return true; 
     } 
    }); 
    grid5.addListener(new InputListener() { 
     @Override 
     public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { 
      //doSomething 
      return true; 
     } 
    }); 

如果我有200个图像,并且每个地方我想有InputListener我不认为这是这样的。

所以,我打算做的是创建一个让我们说“Grid”的类, 这个类有InputListener,它将返回该类中的值。 然后我可以存储这个类与数组的所有成员都有inputListener。

也许这也是错误的方式,请给我一些指导。提前致谢。

回答

0

InputEvent一个实例允许获得related actor - 尽管这仅适用于enterexit事件。所以应该可以有一个跟踪当前输入图像的类,然后在touchDown事件中使用该图像。

相关问题