Перетаскивание перекрытие в LibGDX

#android #libgdx #drag-and-drop #actor #overlap

#Android #libgdx #перетаскивание #актер #перекрытие

Вопрос:

Прежде всего, извините меня за мой английский, он у меня немного ржавый. У меня проблема с LibGDX. Я создаю, так сказать, карточную игру, и мне нужно, чтобы карты имели следующие эффекты:

  • Действие выполняется, когда вы только нажимаете на него.
  • Другое действие выполняется при перетаскивании карты.

Обе вещи, с которыми мне удалось справиться, проблема возникает, когда после освобождения карты я должен вызвать функцию, а затем вернуть карту в исходное положение. Следующий код — это тот, который я связываю с каждым участником, но в методах переопределения я не нахожу ни одного для УДАЛЕНИЯ.

Вы можете мне помочь?

Заранее большое вам спасибо!

Мой код

Ответ №1:

В ClickListener есть метод «TouchUp», который вызывается при нажатии кнопки мыши (или прикосновении пальца) вверх. Это то, что вы хотите использовать при освобождении карты. Более подробная информация здесь:

https://libgdx.badlogicgames.com/ci/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/utils/ClickListener.html#touchUp-com.badlogic.gdx.scenes.scene2d.InputEvent-float-float-int-int-

Комментарии:

1. Я уже пробовал с подкраской, и я подумал, что это не сработало, так как я назначил «System.out.println», который не всегда отображался на консоли (я до сих пор не знаю почему). Я просто повторно протестировал его, назначив ему функцию, и она работает отлично. Большое спасибо!

2. Я не уверен, почему это не всегда будет работать с println. Я полагаю, что метод TouchUp не вызывается, если вы нажимаете на актера, а затем отводите мышь (или палец) от актера при отпускании. Но поскольку вы перемещаете актера при перетаскивании, кажется, что TouchUp всегда должен вызываться.