Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Взаимное исключение событий мышки (http://www.flasher.ru/forum/showthread.php?t=177709)

KaaPex 06.04.2012 15:14

Взаимное исключение событий мышки
 
Всем привет.
Если кто-то встречался со подобным подскажите: есть две переменные, которые отслеживают зажата ли ЛКМ или просто сделан клик мышкой. Как можно взаимно исключить эти два события, чтобы признак зажатой кнопки проставлялся только после какого-то интервала что-ли? То есть приоритет был у одиночного щелчка.

wvxvw 06.04.2012 15:55

А может проще в таком случае было бы реагировать на "отпускание" мышки? Просто у всех мышек и людей разные настройки / привычки. Вы на всех одинаковым интервалом не угодите.

KaaPex 06.04.2012 16:04

Если на отпускание мышки, то получится двойное срабатывание, то есть сначала будет признак что мышка зажата, а потом сразу еще и признак что просто нажата кнопка. Либо опять же надо какое-то рациональное время вводить, сколько прошло между зажатой и отжатой кнопкой. Наверное лучше будет ввести счетчик, который будет отвечать за количество тиков пройденных между зажатием и отпусканием кнопки мышки.

fljot 06.04.2012 19:02

Если, к примеру, взять эппловский UILongPressGestureRecognizer, то там эта самая задержка по-умолчанию равна 0.5 секунды.
Вам зачем вообще это всё?

wvxvw 06.04.2012 21:06

Нет, вы не поняли. Одно событие происходит когда мышку отпускают, другое - когда нажимают. Нет двух событий, просто "клик" будет срабатывать когда мышку оптустили, а не нажали.

fish_r 07.04.2012 17:05

Может заменить прослушивание события CLICK на DOUBLE_CLICK? Оно, вроде, для таких вот случаев.

KaaPex 09.04.2012 10:53

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

alatar 09.04.2012 11:08

Выстрел -> перезарядка -> выстрел -> ...
Варьируется только время перезарядки. И не будет зависеть от скорости кликов.

KaaPex 09.04.2012 12:48

Можно ли использовать setTimeout для таких случаев, так как пуля должна вылетать только на втором кадре анимации персонажа? Само собой скорость анимации зависит от количества ударов в секунду.

alatar 09.04.2012 13:05

Зачем? Паузу не замучаетесь реализовывать? На каждый игровой тик проверяйте закончилась ли перезарядка.


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

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