2017-02-21 31 views
0

说实话,我不知道我做错了什么。我想从ClickListener得到ImageButton对象,但出了点问题。LibGDX如何从clickListener获取按钮

public void createButton() { 
    button = new ImageButton(this.skin); 
    buttonUnitsList.add(button); 
    button.addListener(new ClickListener() { 
     @Override 
     public void clicked(InputEvent event, float x, float y) { 
      selectedUnit = buttonUnitsList.indexOf(this.getButton()); 
     } 
    });  
} 
+0

“什么“?你有错误吗?你试过了吗? –

+0

不,我没有错误,但点击后selectedUnit值的所有按钮总是相同的。 – Overborr

+0

getButton()是什么?我猜它会返回'button',它将永远是最后创建的按钮。 –

回答

0

要获得Actor例如哪个事件被解雇,你需要使用getTarget()事件的方法。如果你确信听众将只使用按钮,你可以从Actor上溯造型这Button

selectedUnit = buttonUnitsList.indexOf((Button)event.getTarget()); 

请注意,如果你使用的侦听器另一种类型的演员,你会得到铸造异常

+0

它为我工作。我不能将Actor投影到ImageButton,但我得到了父母,现在它正在工作。谢谢。 – Overborr

+0

高兴地帮助,如果答案解决您的问题,您可以[接受](http://stackoverflow.com/help/accepted-answer) –