Руководство по 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

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

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

Полезные ссылки
Случайные записи
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 137
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.101
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.3
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.41
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 038
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.6
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.59
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 035
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.61
  • 17.05.2012">«Лаборатория Касперского»: спамеры нацелились на геймеров и пользователей Facebook
  • 16.08.2010">Нужна ли публикация списка клиентов?
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 141
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.55
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 152
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 150
Опрос

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

View Results

Loading ... Loading ...