Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.03.2012, 00:16
BuKT вне форума Посмотреть профиль Отправить личное сообщение для BuKT Найти все сообщения от BuKT
  № 1  
Ответить с цитированием
BuKT
 
Аватар для BuKT

блогер
Регистрация: Dec 2010
Сообщений: 237
Записей в блоге: 5
По умолчанию Странное поведение мышиных событий под Linux

Одна и та же флешка с видео. Поверх видео - панель управления видео. По нажатию (маусклик) на управляющие кнопки панели - вызывается какой-то код. По наведению (ролловер) на кнопку панели - из невидимости (visible) вылезают тултипы к кнопке. Это - если смотреть в код.

Если смотреть в среду исполнения: винда и линукс с железом на Intel и GeForce. FP - 11.1.102.62 на лисе 11.0. И там и там - дебажная версия. И там и там - аппаратное ускорение видео. В винде - всё работает идеально. Под линухой - только изредка и не всё, а именно:

1) Однозначно всё работает, когда видео проигрывается. И кнопки нажимаются и тултипы проявляются.
2) Если видео остановлено (либо ещё не запущено) - внешне можно увидеть только проявления клика по кнопке. Наведение не вызовет никаких видимых изменений. Однако (если глянуть в трейсы) исправно меняется свойство visible у соответствующих тултипов. Визуально они не проявляются. Трейс оставляется по энтерфрейм = тултип на кадр ВХОДИТ (для верности - на каждый вызов трейса, каждому тултипу вынужденно диспатчится ентерфрейм, рендер и екзитфрейм).
3) Однако, если перед наведением на кнопку панели - зажать (маусдаун) кнопку мыши на самой панели - то тултипы внезапно начинают проявляться.

Такое ощущение, что при наличии видео отрисовка разрешается по маусдаун и запрещается по маусап.

Что может быть на самом деле? Чем ещё могут отличаться среды исполнения?
__________________
Дебаггер не предлагать

Старый 21.03.2012, 00:57
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 2  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Это проблемы flash-player'а. И, вероятно, конкретных настроек с конкретным железом. У плеера на linux периодически встречаются проблемы с обновлением экрана или его части. Например, при удалении спрайта с экрана он может визуально остаться (да, я и такое видел, иногда остаются только части спрайта). Видео спасает только потому, что приводит к постоянной перерисовке экрана (и, вероятно, области с тултипом). У разных флешек по-разному, зависит от активности в кадре. Причем в одной и той же флешке при одном и том же действии проблема может проявляться, а может и нет. Вот сейчас докликался, целое окно не появляется, но работает (клик обрабатывает, хотя изображения не видно).

Как бороться - не знаю, самому интересно.

Добавлено через 39 минут
Цитата:
Как бороться - не знаю, самому интересно.
MouseEvent.updateAfterEvent спасает. Причем и с hover'ом, и с отрисовкой окон. Правда починилась и еще пара мест, где я updateAfterEvent не добавлял. Буду экспериментировать. Есть подозрение, что отрисовка ломается, когда во время обработки мышиного события под мышью меняется displayList (т.е. под курсором появляются или исчезают объекты).

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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