![]() |
CLICK и DOUBLE_CLICK
Всем привет.
собственно вот в чем вопрос. Есть объект, который нужно заставить реагировать на события CLICK и DOUBLE_CLICK. Событие CLICK естественно наступает раньше DOUBLE_CLICK, и,соответственно, реакция onCLICK тоже. Однако по замыслу рекция onDOUBLE_CLICK не предполагает действий из onCLICK. Прошу помощи, как разрулить ситуацию, чтобы сначала наступало onDOUBLE_CLICK, потом, если не двойной клик, onCLICK. В голову лезет только Timer в onCLICK, но что-то мне подсказывает что есть стандартное простое решение этой ситуации |
Цитата:
|
я как то давно так пробовал, на один объект повесить и клик и дабл-клик - получилось очень фегово, глючно и неудобно для пользователя, в любом случае даже с таймером это порочный вариант на мой взгляд
|
Если нужно, значит нужно!
Правда не стоит вешать на эти события кардинально разный по смыслу функционал, тогда пользователь и не заметит неудобств. Пример из ТоталКомандера: клик выделяет файл/папку, а дабл_клик - открывает и то, что по клику файл/папка успевает выделиться вполне логично. Ну а если разный функционал, тогда нужно красиво завуалировать задержку в исполнении реакции на клик. Хорошим примером будет Warcraft3. Эта игра рассчитана на сетевой многопользовательский режим. А сеть, как известно, привносит проблему задержки сообщений. В игре по клику нужно бежать/атаковать/строить и чтобы отослать сообщение о действии всем учасникам игры делается задержка, во время которой юнит подтверждает команду какой нибуть фразой и только потом начинает действовать. Выглядит это очень естественно и никаких удобств не вызывает. |
| Часовой пояс GMT +4, время: 03:14. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.