![]() |
Реализация всплытия для не DisplayObject
Как можно реализовать систему всплытия для не DisplayObject? Конкретно интересует такой момент:
Есть иерархия объектов с 3-4 уровневой вложенностью, необходимо, чтобы родитель мог подписаться на события "внуков" и "правнуков". |
Дедушка слушает сына, сын слушает своего сына?
|
Сейчас так и сделано.Тогда так, это единственный путь решения?Родитель подписывается на ребенка и шлет выше. Я просто не знаю, как устроен этот механизм в DisplayObject, где бы почитать про это.
|
Можно создать массив в котором хранятся ссылки на объекты всей ветки, от корня до конца. В переопределенном методе dispatchEvent при bubbles=true обходится массив начиная от event.target и диспатчится тоже событие.
|
Какой массив? Зачем массив?
наследуем детей от этого кода вместо EventDispatcher-а и при добавлении в невизуальный контейнер выставляем у них eventParent на этот контейнер - при удалении зануляем Код AS3:
|
expl, в таком варианте событие будет клонироваться при каждом dispatchEvent.
|
я делал
Код AS3:
Цитата:
должен ведь смениться currentTarget |
Цитата:
Код AS3:
Проверил, НЕ клонируется. Код AS3:
|
Если у события не совпадает хозяин и корреспондент - то при рассылке клонируется вроде.
|
Код AS3:
|
| Часовой пояс GMT +4, время: 09:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.