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

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

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

Регистрация: Nov 2010
Сообщений: 430
По умолчанию Как работают слушатели?

Здравствуйте.
Подскажите, пожалуйста, как работают слушатели?
Т.е. вот написал я
Код AS3:
obj.addEventListener(..)
и получается, что на ентерФрейм плеер проверяет не произошло ли событие?
НЕ произошло, ждем время, проверяет не произошло ли, если произошло вызывает нужную функцию, нет снова ждет до «следующего фрейма»
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь.

Старый 30.01.2012, 11:18
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 2  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Может, немного просветлит знания:
Цитата:
Цитата из "Оптимизация содержимого для платформы ADOBE® FLASH® PLATFORM".
Каждый цикл кадра состоит из двух фаз, разделенных на три части: события, событие enterFrame и визуализация.
Первая фаза состоит из двух частей (события и событие enterFrame), каждое из которых потенциально приводит к вызову кода. В первой части первой фазы поступают и отправляются события среды выполнения.
Этими событиями могут быть завершение или ход выполнения асинхронных операций, например при
загрузке данных по сети. В число этих событий также входит обработка команд пользователя. После отправки событий среда выполнения выполняет код в зарегистрированных прослушивателях. Если события отсутствуют, среда выполнения ожидает завершения фазы выполнения, не выполняя никаких действий. При отсутствии выполняемых действий среда выполнения никогда не увеличивает частоту кадров. Если событие происходит в других частях цикла выполнения, среда выполнения помещает их в очередь и отправляет в следующем кадре.
Второй частью первой фазы является событие enterFrame. Это событие отличается от остальных тем, что оно отправляется только один раз за кадр.
После отправки всех событий начинается фаза визуализации. На этом этапе среда выполнения вычисляет состояние всех видимых элементов и рисует их на экране. Затем этот процесс повторяется (подобно бегу спортсмена вокруг стадиона).
Примечание. Для событий, включающих свойство updateAfterEvent, можно выполнить немедленную
визуализацию, не дожидаясь этапа визуализации. Однако избегайте использования свойства
updateAfterEvent, если из-за него часто возникают проблемы с производительностью.
Проще всего представить, что цикл кадра состоит из двух фаз, равных по продолжительности. В этом случае половина каждого цикла кадра отводится для выполнения обработчиков событий и кода приложения, а половина — для визуализации. Однако на практике зачастую все выглядит иначе. Иногда для выполнения кода приложения требуется больше половины времени кадра, что приводит к увеличению первой части фазы и уменьшению второй части фазы, предназначенной для визуализации. И наоборот, при наличии сложного визуального содержимого, например фильтров и режимов наложения, для выполнения визуализации может потребоваться больше половины времени кадра. Так как фактическая длительность фаз может изменяться, то можно сказать, что цикл кадра «эластичен».
Если для выполнения обеих фаз (выполнение кода и визуализация) одного цикла кадра не хватает, среда выполнения изменяет частоту кадров. Длительность кадра увеличивается, поэтому возникает задержка перехода к следующему кадру. Например, если продолжительность цикла кадра составляет более одной тридцатой секунды, среда выполнения не поддерживает обновление экрана с частотой 30 кадров в секунду.
Замедление частоты кадров ощущается в падении производительности. В лучшем случае анимация не будет воспроизводится плавно. В худшем случае приложение зависает, а изображение пропадает.
Добавлено через 4 минуты
Обратите внимание на: "Если событие происходит в других частях цикла выполнения, среда выполнения помещает их в очередь и отправляет в следующем кадре".
__________________
Я мало чего умею, но зато хорошо умею учиться...


Последний раз редактировалось HardCoder; 30.01.2012 в 11:25.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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