В моем методе 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));
Это дает мне правильную позицию кнопки в моей таблице, но я не знаю, когда и где я должен установить положение текстуры до нажатия кнопки?