Есть ли способ переместить изображение в другое положение, когда пользователь нажимает на это изображение.
public Players() {
deck.displayHand();
stage = new Stage(new ScreenViewport());
Image card1 = new Image(sprite);
card1.addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
}
});
}
@Override
public void draw(Batch batch, float parentAlpha) {
stage.act();
stage.draw();
}
Я знаю, что мне нужно добавить слушателя, но я не понимаю, что делать после. Цель состоит в том, чтобы пользователь коснулся изображения карты, и оно переместилось бы в другое место.
Как только пользователь касается изображения, оно перемещается только один раз в определенное место.




Image - это Actor, поэтому вы можете добавить к нему Действия.
card1.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
card1.addAction(Actions.moveTo(100, 100, .5f, Interpolation.circleIn));
}
});
Переместитесь в предопределенную позицию, когда вы / пользователь нажимаете на это изображение:
Добавьте действие к этому изображению (дочерний элемент Actor),
Предположим, что предварительно определенная позиция - x_pos, y_pos, а время движения - t в секундах.
card1.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
card1.addAction(Actions.moveTo(x_pos, y_pos,t));
}
});
Цель состоит в том, чтобы коснуться карты / изображения, и оно переместится в другое место в зависимости от прикосновения пользователя:
card1.addListener(new DragListener(){
@Override
public void drag(InputEvent event, float x, float y, int pointer) {
card1.moveBy(x - card1.getWidth() / 2, y - card1.getHeight() / 2);
super.drag(event, x, y, pointer);
}
});
Вам нужно настроить сцену как InputProcessor
Gdx.input.setInputProcessor(stage);
У меня есть несколько карточек, и когда я устанавливаю прослушиватель кликов для каждой из этих карточек, возникает проблема, когда, когда я нажимаю / касаюсь одной из карточек (например, card1), затем касаюсь / щелкаю другую карточку (например, card2), вторую карточку (card2) ) отправляется на оборотную сторону первой выбранной карты (card1). Есть ли способ укладывать карты друг на друга (например, когда пользователь сначала щелкает / касается карты, а затем касается / щелкает вторую карту, эта вторая карта отображается, а не отправляется на оборотную сторону предыдущей карты, где пользователь не видит карту). В общем, карты можно складывать друг на друга.
Должно ли изображение перемещаться каждый раз одинаково или что оно должно делать?