Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   MouseEvents под Firefox (http://www.flasher.ru/forum/showthread.php?t=213525)

illusion21 22.10.2016 01:11

MouseEvents под Firefox
 
Сегодня обнаружил что в Firefox как-то не так стала работать обработка событий мыши.

Во всех браузерах кроме мозиллы работает так:
Включаю обработку событий MouseMove, MouseDown и MouseUp на stage.
Делаю MouseDown и тащу мышку за пределы флэшки, отпускаю мышу за ее пределами и вижу что пока тащил с зажатой кнопкой то mouseMove обрабатывается и показывает координаты выходящие за пределы флэшки, а также срабатывает событие на MouseUp.

В фаерфоксе же как только мышь ушла за пределы флэшки, то отлов событий полностью прекращается.. ни координаты не ловит, ни отпускание мыши. Раньше все было в порядке. Кто нибудь знает почему такое начало происходить и как с этим бороться?

Добавлено через 36 часов 57 минут
вижу что никто не поддержал беседу... На случай если кто-нибудь столкнется с этой проблемой, вот как ее решил я:

В html страничке вписываем скрипт для отлова событий мыши из браузера и через ExternalInterface перенаправляем в флэшу. В самой флэшке в отдельном классе функции принимают эти данные и уже транслируют через dispatchEvent стандартные MouseEvents с правильными значениями позиций и соответственно факт нажатия mouseUP, который сама флэша как я писал выше в фаерфоксе не ловила.

Ну а по коду приложения там где я раньше ловил стандартные флэшовые MouseEvents, теперь просто подписываюсь на эти же события, но в своем классе, который ловит браузерные события. Метод работает отлично в любых браузерах, но для себя я на всякий случай сделал так, что флэшка проверяет в каком браузере запущена и если в FireFox, то слушает события из собственного класса, а если другой браузер, то слушаем стандартные события.

alatar 25.10.2016 12:07

А чем Event.MOUSE_LEAVE не устраивает?

illusion21 28.10.2016 19:45

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

Вообще после нескольких дней танцев с бубном я убедился в том, что проблема эта вопервых только на десятой винде.. на семерке все замечательно работает... а в десятке проблема проявила себя начиная с 48 версии мозиллы... на 47 тоже все отлично работает... а вот на 48 мало того, что не работает отлов событий флэши за пределами флэши, так еще и события браузера не работают Над флэшой... тоесть за пределами флэшки отлчно пашут браузерный mousemove и mouseup, а флэшовые нет, и наоборот.... при этом на 49 версии мозиллы флэшовая проблема сохраняется (под 10 виндой), а браузерные ловит по всему документу.. и за флэшкой и на флэшке.... в итоге я для себя сделал проверку что если браузер мозиллы под 10 винду и версия у него 48, то тупо не пускать в приложение и просить обновить браузер.. а для 49 и выше версии применяю выше описаный способ - пуляю браузерные события в флэшку через External Interface.... интересно что в седьмой винде как раз браузерные события не работают над флэшкой, но флэшовые работают за пределами флэшки....

в итоге получается что на 7 винде я ничего не трогаю и даю флэшке обрабатывать свои события, а на десятке переключаюсь на отлов javascript браузерных начиная с 49 версии мозиллы.. для остальных браузеров ничего не делаю так как флэшка там нормально работает. Такие вот танцы с бубном.

undefined 28.10.2016 21:44

и еще направление вращения колеса в фоксовом js инвертировано по сравнению с конкурентами(в семерке по крайней мере).Так до кучи :)

illusion21 02.11.2016 12:08

оказывается не у всех в семерке на 49 версии все хорошо...гадский Firefox своей жизнью живет

caseyryan 02.11.2016 12:31

Всегда был уверен, что фаерфокс это один из самых дурацких браузеров. Мне он тоже кучу проблем доставляет. Он даже хуже IE
Но колесо в нем на семерке не инвертировано) С этим у меня все норм

illusion21 02.11.2016 12:44

фаерфокс и IE это по сути единственные браузеры, которые до сих пор 3д играют через dirextX, а не через openGL, как все остальные браузеры, которые перешли на PPAPI,.. в этом плане для 3д они лучше, потому как картинка плавнее, фпс больше и нет дебильных дерганий какие в изобилии дает хром и все хромиум выкидыши котрые в рот гуглу смотрят. Раньше опера отлично для этого подходила, но теперь и она на хромиуме со всеми вытекающими последствиями.


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

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