在我的create()方法中,我創建了一個表並插入了一些按鈕,如下圖所示。按下按鈕前的設置位置Libgdx
http://www2.pic-upload.de/thumb/29190899/Unbenannt.png
用戶每次按下按鈕,一個新的拖累,能夠質地應該出現他的手指/按鈕位置下方。
我試過如下:
sourceImage.addListener(controller);
testbutton.get(2).addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
sourceImage.setVisible(true);
sourceImage.setPosition(vec.x, vec.y);
return super.touchDown(event, x, y, pointer, button);
}
});
這個工作不錯,但我想讓它使用戶得到了他的手指上的紋理,而不必在其上再次按下拖動。
因此,我試圖在觸摸開始之前將圖像放到按鈕上。
問題是,我不能得到表按鈕的位置,因爲表將在應用程序啓動後呈現,而不是在create()中,如果我錯了,就糾正我。
它返回0,0,當我試圖讓在實際的表中的位置我創建()
我發現在論壇的解決方案: Getting Stage coordinates of Actor in Table in libGDX
public static Vector2 getStageLocation(Actor actor) {
return actor.localToStageCoordinates(new Vector2(0, 0));
}
,並在我的渲染()
vec = getStageLocation(testbutton.get(2));
它給我在我的表中的按鈕的正確位置,但我不知道何時何地我必須設置的位置按鈕按下之前的紋理?