![]() |
|
||||||||||
|
|||||
|
Столкнулся с казалось бы простой задачей. Есть мувиклип, который можно перетаскивать мышью (зажать кнопку, передвинуть курсор, отпустить). Но если по нему делать простой клик, он должен проигрывать анимацию. Проблема в том, что программа сразу реагирует на MOUSE_DOWN и вступает в фазу передвижения, и затем не реагирует на CLICK.
Ловить MOUSE_DOWN + MOUSE_UP через промежуток времени и обрабатывать как клик - как-то криво и ненадёжно. Прошу помочь, есть ли другие варианты? |
|
|||||
|
Lorem ipsum
|
Подписаться на оба события сразу.
Добавить флаг вступления в фазу передвижения. Если он true — не реагировать на клик. Вступать в фазу передвижения не по нажатию кнопки мыши, а по какому-то признаку перемещения с нажатой кнопкой.
__________________
Поймай яблоко 2! |
|
|||||
|
Lorem ipsum
|
Цитата:
Реакция на смещения объекта, по которому еще и кликать приходится, должна иметь искусственный порог. Никто не любит не срабатывающий клик из-за едва заметного движения мышки в момент клика, что часто происходит у неопытного пользователя. P.S. И особенно актуально это на тачскрине.
__________________
Поймай яблоко 2! Последний раз редактировалось Zebestov; 18.04.2012 в 17:09. |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 121
|
поставь задержку на startDrag, равную пол-секунде. При завершении таймера - startDrag,
добавь слушатель MOUSE_UP, который бы прерывал таймер, не давая ему завершиться. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Не вижу разницы между CLICK и MOUSE_UP.
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
> Не вижу разницы между CLICK и MOUSE_UP.
При MOUSE_UP соответствующий ему MOUSE_DOWN может быть совершенно на другом объекте. Для клика - всегда на том же. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|