![]() |
Свое всплывание событий.
Всем привет. Тут мелькала эта идея, но я шота не могу понять как сделать.
Входящие данные: 1. события разные. 99% — уже имеющийся в AS3 набор. 2. всплывать событиям придется в иерархии объектов типа EventDispatcher (?) 3. надо сохранить target нид хелп короч. |
не совсем понятна задача.
чем EventDispatcher плохо? да target не получается заменять. мне тоже это показалось странным. нужно будет свои евенты наследовать и реализовывать. |
Всплытие нативно поддерживается только DisplayObject'ом (участвует его #parent). Можете построить аналогичную систему или стройте иерархию, используя базовыми классами Shape, Sprite, etc.
|
Так вот и спрашиваю, как построить аналогичную систему =)
DisplayObject — крайний случай. |
Собственно, target можно хранить статически во время всплытия.
|
Чтобы сохранить таргет (только для своих классов Event-ов)
1) override get target 2) override clone |
etc нельзя. тогда произойдёт колапс, когда одно событие рождает другое.
|
Цитата:
|
Теперь target всегда сохраняется при клонировании и его не нужно явно передавать в конструктор MyEvent()
Код AS3:
Вообще все затевается ради всплывания событий в дереве моделей... я начинаю думать, что это лишнее. Зачем какой-то модели следить не за непосредственно подопечными, а и за их подопечными. Ну т.е. если меняется дочерняя модель — событие CHANGE, на которое реагирет изменениями текущая модель, что вызывает тот же CHANGE уже для его родителя. Поправьте, есличё. |
из последний 3х предложений не понял ничего.
|
| Часовой пояс GMT +4, время: 00:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.