Флэш-плеер "Низкое качество" настроен только на сглаживание? - PullRequest
1 голос
/ 20 ноября 2011

Это не просто мое любопытство, недавно я получил сообщение об ошибке, касающееся одного из моих приложений AS3. Эта ошибка может быть воспроизведена только в том случае, если качество во флеш-плеере установлено на LOW (HIGH / MEDIUM - все в порядке). Ошибка изменяет поведение приложения, но для меня загадка, почему это происходит только для НИЗКОГО качества, в то время как говорят, что качество влияет на визуализацию и внешний вид, а не на код или поведение.

Вкратце, у меня есть панель меню (MovieClip) с несколькими пунктами (также MovieClip). Очень просто, он появляется на экране после MouseEvent, и пользователь перемещает курсор от одного элемента к другому. Когда курсор достигает края второго элемента, меню внезапно исчезает. В моем коде панель скрывается при щелчке мышью или при отсутствии мыши.

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

Я исследовал системы отслеживания ошибок Adobe и Firefox (мое приложение предназначено для веб-браузеров, и сообщается об ошибке для Firefox), но пока ничего не нашел. Возможно неправильное поведение flash player 11 с массивами, уже исправлено ... У меня закончились идеи.

1 Ответ

0 голосов
/ 20 ноября 2011

Из документов:

LOW
Specifies low rendering quality: graphics are not anti-aliased, and bitmaps are not smoothed.

Если это происходит только при рендеринге, установленном на низкий уровень, то это, вероятно, проблема с синхронизацией - т. Е. Ошибка всегда была, но потому что вы закрываетеРендеринг раньше, вы можете вызвать ошибку.Является ли компьютер репортера ошибок медленным?Много ли происходит одновременно?Меню удалено, установлено как невидимое или переставлено?

Как сказал @jeremynealbrown, попробуйте выделить ваш класс в простой проект, чтобы убедиться, что в вашей логике нет ничего плохого.

Другой метод, переопределите метод removeChild() и свойства visible и x и y, чтобы увидеть, какой из них его настраивает, затем поместите трассировки перед всеми вызовами, которые их вызывают, чтобы увидеть, что его вызывает.

Если вы считаете, что проблема в Tweener, добавьте прослушиватель MOUSE_OVER на панель меню, которая вызывает что-то вроде removeAllTweens(), независимо от состояния панели меню.Если ошибка больше не возникает, это покажет вам, что она связана с двигателем анимации.

...