2017-02-21 34 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) –