принудительная отмена OnDrag ивента

Общие вопросы о Unity3D

принудительная отмена OnDrag ивента

Сообщение LemanRass 12 фев 2017, 16:06

Есть пошаговая игра.
Пользователю дается возможность путем перетаскивания Image ставить карты в слоты с OnDrop приемником на игровом поле.
Разумеется только во время своего хода.
Когда человек начал тянуть карту, но его ход внезапно кончается, карта остается на уровне мышки и продолжает за ней следовать пока человек ее не отпустит.
Нужно как то программно закончить OnDrag ивент конкретного Image.

Для реализации перетаскивания используется пространство имен UnityEngine.EventSystems а именно интерфейсы OnBeginDrag OnDrag OnEndDrag и OnDrop.
Разработчик SpaceBall
Скрытый текст:
LemanRass
UNIверсал
 
Сообщения: 385
Зарегистрирован: 23 фев 2014, 12:00
Skype: coder.dev

Re: принудительная отмена OnDrag ивента

Сообщение Anonymyx 12 фев 2017, 18:20

Действия из EndDrag перенести в отдельный метод и вызывать его в конце хода.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: принудительная отмена OnDrag ивента

Сообщение LemanRass 12 фев 2017, 18:29

Да это то понятно, не понятно только как программно отпустить Image который перетаскивал пользователь мышкой но сам не отпустил.
Разработчик SpaceBall
Скрытый текст:
LemanRass
UNIверсал
 
Сообщения: 385
Зарегистрирован: 23 фев 2014, 12:00
Skype: coder.dev

Re: принудительная отмена OnDrag ивента

Сообщение JTProjects 12 фев 2017, 20:45

LemanRass писал(а):Да это то понятно, не понятно только как программно отпустить Image который перетаскивал пользователь мышкой но сам не отпустил.

У вас что-то делается, когда игрок отпускает карту, не дотащив ее до слота или это тоже еще предстоит сделать? По идее, она должна вернуться на свое место. Вот и возвращайте ее на место, когда время хода истекло, в OnDrag сделайте флаг, что ход еще не истек, а когда истек - отключайте перетаскивание карты за курсором.
Аватара пользователя
JTProjects
UNIт
 
Сообщения: 97
Зарегистрирован: 04 ноя 2016, 14:31

Re: принудительная отмена OnDrag ивента

Сообщение Anonymyx 12 фев 2017, 23:54

Да почти это и имел ввиду, в EndDrag по идее должна быть логика возвращающая все на место, обратно.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16