Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Калибровка MOUSE_WHEEL (http://www.flasher.ru/forum/showthread.php?t=118914)

ZlPredator 07.12.2008 14:29

Калибровка MOUSE_WHEEL
 
Возникла серьезная проблема с сообщениями MOUSE_WHEEL. Внутри сообщения MouseEvent передаётся поле delta, указывающее количество строк. Как правило, оно равняется +/-3 (иногда при сильных рывках +/-6).
НО, флеш зараза шлёт эти сообщения пачками, причём количество зависит как от конкретного компьютера так и от версии флеша: (на 9 флеше приходит в среднем по два события, на 10 по 3-4).
У меня скрол используется для изменения zoom'а.
Стоит задача: как откалибровать скролл, чтобы при небольшом передвижении колеса мой код воспринимал это как +/-1?

AL.exe 07.12.2008 15:06

Делить полученную delta на три?

ZlPredator 07.12.2008 15:40

Проблема не в дельте, а в том, что на одну прокрутку приходит N сообщений с delta=3

wvxvw 07.12.2008 15:54

повесить апдейт на ентерфрейм, и в ентерфрейме уже проверять не слишком ли изменилось значение.
Т.е. схема примерно такая: получили событие скрола, подняли флаг, и пока скрол не отрисовали в ентерфрейме остальные события игнорируем, после отрисовки флаг сняли.

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

ZlPredator 07.12.2008 16:09

Спасибо! Наверное так и сделаю.
Только жаль, что быстрые прокрутки будут восприниматься как медленные (все события мы воспримем как одно, а на delta, как Вы говорите, полагаться нельзя).


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

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