Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   CLICK и DOUBLE_CLICK (http://www.flasher.ru/forum/showthread.php?t=186316)

AleXXX 31.10.2012 21:52

CLICK и DOUBLE_CLICK
 
Всем привет.
собственно вот в чем вопрос. Есть объект, который нужно заставить реагировать на события CLICK и DOUBLE_CLICK. Событие CLICK естественно наступает раньше DOUBLE_CLICK, и,соответственно, реакция onCLICK тоже. Однако по замыслу рекция onDOUBLE_CLICK не предполагает действий из onCLICK.
Прошу помощи, как разрулить ситуацию, чтобы сначала наступало onDOUBLE_CLICK, потом, если не двойной клик, onCLICK.
В голову лезет только Timer в onCLICK, но что-то мне подсказывает что есть стандартное простое решение этой ситуации

udaaff 31.10.2012 22:01

Цитата:

но что-то мне подсказывает что есть стандартное простое решение этой ситуации
Или таймер вешайте или логику меняйте.

PainKiller 01.11.2012 12:28

я как то давно так пробовал, на один объект повесить и клик и дабл-клик - получилось очень фегово, глючно и неудобно для пользователя, в любом случае даже с таймером это порочный вариант на мой взгляд

elder_Nosferatu 01.11.2012 12:48

Если нужно, значит нужно!
Правда не стоит вешать на эти события кардинально разный по смыслу функционал, тогда пользователь и не заметит неудобств. Пример из ТоталКомандера: клик выделяет файл/папку, а дабл_клик - открывает и то, что по клику файл/папка успевает выделиться вполне логично.

Ну а если разный функционал, тогда нужно красиво завуалировать задержку в исполнении реакции на клик. Хорошим примером будет Warcraft3. Эта игра рассчитана на сетевой многопользовательский режим. А сеть, как известно, привносит проблему задержки сообщений. В игре по клику нужно бежать/атаковать/строить и чтобы отослать сообщение о действии всем учасникам игры делается задержка, во время которой юнит подтверждает команду какой нибуть фразой и только потом начинает действовать. Выглядит это очень естественно и никаких удобств не вызывает.


Часовой пояс GMT +4, время: 03:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.