2017-02-21 6 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

をキャスト取得することに注意してくださいActorからButton

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

にこれをアップキャストすることができます何か"?間違いはありますか?あなたはそれを踏み出そうとしましたか? –

+0

いいえ、エラーはありませんが、クリックした後のすべてのボタンselectedUnitの値は常に同じです。 – Overborr

+0

'getButton()'とは何ですか?私はそれが常に最後に作成されるボタンである 'button'を返すと思います。 –

答えて

0

イベントはあなたがgetTarget()イベントのメソッドを使用する必要が解雇されたActorインスタンスを取得します。あなたはリスナーがボタンのみで使用されることが確実な場合、あなたは俳優の別のタイプのリスナーを使用する場合は、「例外

+0

それは私のために働いた。私はActorをImageButtonにキャストすることはできませんが、私は親を取得し、現在は動作しています。ありがとう。 – Overborr

+0

答えがあなたの問題を解決した場合は、[accep it](http://stackoverflow.com/help/accepted-answer) –

関連する問題