![]() |
События мыши и их перекрытие
Здравствуйте.
Вопрос, казалось бы, простой, но ответа так и не нашла. Как сделать так, чтобы при слушателях, например, клика и MOUSE_DOWN - срабатывал либо клик, либо маус-даун? Я сделала булевы переменные - мол, не надо, я зажала и двигаю, а не кликаю. Код AS3:
Подскажите, как исправить? |
Воспользоватся одним обработчиком?
Код AS3:
|
Цитата:
|
Повесить слушатель только на MOUSE_DOWN. Считать сколько милисекунд зажата кнопка, и если дольше положенного диспатчить клик. Ну или просто вызывать функцию обработчик клика.
|
Побаловалась с идеей:
Код AS3:
Отсюда появилась извращенская идея с массивом отметок событий... но идея не сработала. Параллельное выполнение... такое параллельное... Нужно не только перекрыть MOUSE_DOWN, но и клик по окончанию перетаскивания - то есть перекрытие в обе стороны. Вот как его реализовать - все еще без понятия... |
А если подписываться и отписываться на нужные события?
|
При зажатии срабатывает только down;
при отпускании срабатывает up, click; при клике срабатывают down, up, click. Чего-то голова уже не соображает - как их организовать? Вообще закрадываются подозрения, что поскольку разница между событиями перетаскивания и клика только в длительности (down, ..., up, click vs down, up, click), придется как-то с этим работать... А таймер очень-очень не хочется. Правда еще тут же возникает идея - задействовать MOUSE_MOVE - так мы отделим перетаскивание, если мышь между зажатием и отпускание выдает MOUSE_MOVE. Но сразу же понятно, что тогда я клик от движения уже не отделю. И вот окажется, что мы сейчас велосипед изобретаем... =) |
Код AS3:
|
2 alatar - А если у нас не клик а длительное нажатие? Тогда вся теория с маусмувом накроется тазиком.
Код AS3:
А велосипед да. Помню месяца полтора назад это на форуме уже обсуждалось. Поиск по форуму может помочь... Кстати и ответы там те же были:)) Если бы не лень, то дал бы ссылку. Поиск по форуму;) |
Цитата:
|
| Часовой пояс GMT +4, время: 06:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.