Руководство по actionscript. часть 4, стр. 002

Такая централизованная архитектура позволяет сократить объемы повторяющегося кода, особенно реагирующего на события пользовательского ввода. Далее, в разд. «Использование цепочки диспетчеризации события для централизации кода», мы рассмотрим пример, который демонстрирует преимущества централизованной обработки событий. Но для начала познакомимся с основами иерархической диспетчеризации событий и регистрации.

В этой главе термины «предок» и «потомок» в основном используются для обозначения объектов в иерархии отображения, а не суперклассов и подклассов в иерархии наследования. Чтобы избежать путаницы, в этой главе иногда используются неофициальные термины «отображаемый предок» и «отображаемый потомок» для обозначения объектов-предков и объектов-потомков в иерархии отображения.

Фазы диспетчеризации событий

Как уже известно, когда среда Flash выполняет диспетчеризацию события, получателем которого является объект в иерархии отображения, о возникновении события узнает не только данный получатель, но и все его отображаемые предки. Процесс, в результате которого о возникновении события узнают получатель и все его предки, разбивается на три отдельные фазы. На первой фазе процесса диспетчеризации события, называемой фазой захвата, уведомление о возникновении события получают все предки объекта-получателя. Как только все предки объекта-получателя получат уведомление о возникновении события, начинается вторая фаза процесса диспетчеризации события, называемая фазой получения. На этой фазе среда выполнения Flash уведомляет объект-получатель о возникновении события.

Для некоторых типов событий процесс диспетчеризации завершается сразу после окончания фазы получения. Для остальных типов событий процесс диспетчеризации переходит в третью фазу, называемую фазой всплытия. На этой фазе предки объекта-получателя узнают о том, что получатель был успешно уведомлен о возникновении события. События, имеющие фазу всплытия, называются всплывающими] события, не имеющие фазу всплытия, называются невсплывающими.

У четырех типов событий — Event. ACTIVATE, Event. DEACTIVATE, Event. ENTER_FRAME и Event. RENDER — есть только фаза получения. Процесс диспетчеризации всех остальных событий, получателем которых является объект в иерархии отображения, включает фазу захвата и фазу получения. Некоторые типы событий также имеют фазу всплытия.

Порядок, в котором объекты узнают о возникновении события в процессе диспетчеризации, зависит от фазы события. На фазе захвата уведомление предков начинается от корневого объекта иерархии отображения объекта-получателя и, проходя вниз по всем потомкам, завершается на непосредственном родителе объекта-получателя. На фазе захвата уведомление самого получателя не происходит. На фазе всплытия уведомление предков происходит в порядке, обратном порядку на фазе захвата, — начинается от непосредственного родителя объекта-получателя и, проходя вверх, заканчивается на корневом объекте иерархии. Процесс, в результате

которого уведомление о событии передается вниз через предков объекта-получателя (фаза захвата) к объекту-получателю (фаза получения) и обратно через его предков (фаза всплытия), называется цепочкой диспетчеризации события. Когда уведомление о событии проходит по цепочке диспетчеризации события, говорят, что событие передается от объекта к объекту.

Рассмотрим простой пример цепочки диспетчеризации события. Предположим, что экземпляр класса Stage содержит объект Sprite, который, в свою очередь, содержит объект TextField, как показано на рис. 21.1. Видно, что корнем иерархии отображения объекта TextField является экземпляр класса Stage, а непосредственным родителем объекта TextField — объект Sprite.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.66
  • 20.07.2010">Распространенные недочеты веб-дизайнеров
  • 21.08.2011">Притягательная красная планета
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.39
  • 07.08.2011">iPhone 5 — ждать осталось недолго
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.92
  • 01.02.2010">Модульная сетка. Генераторы и сервисы
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 026
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.87
  • 13.11.2012">Китай снял блокаду сервисов Google
  • 11.11.2012">Мини холодильная витрина и её виды
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.3
  • 26.07.2011">Продвинуть бизнес поможет сайт
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.13
  • 07.01.2010">Кинетическая типографика
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...