![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Цитата:
Вопроса бы не возникло, если бы willTrigger объявлялось в DisplayObject. Вне DisplayObject`ов я не могу найти разницы. Это идиотизм или я недостаточно хорошо ищу?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: May 2009
Сообщений: 220
|
судя по всему адобовцы исходили из принципа тематического единства, а не видимой необходимости того или иного свойств в классе. На эту мысль наводят некоторы факты:
- наиболее очевидный - это то, что в некоторые классы заложена функциональность, которой там по идее не должно быть. Например, TextField и SimpleButton контейнерами не являются, однако, могут иметь детей, и даже диспатчаться события их добавления. Т.е. внутренние механизмы деторождения заложены в вышестоящем классе и, скорей всего - это DisplayObject. - далее, метод dispatchEvent оверрайден минимум один раз в пути до Sprite. Это доказывают нехитрые тесты. Это значит, что проблем с вызовом super методов нет ни разу. И можно было спокойно определить willTrigger в DisplayObject, а внутри пробегаться по парентам с super.hasEventListener |
|
|||||
|
Цитата:
Цитата:
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Понятно, идиотизм. Спасибо.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
просто подразумевается что вне дисплэйобжектов бабблинга не существует ( по сути так и есть)
если хочешь реализлвать свою систему всплытия, например, для Model`ей переопредели willTrigger под себя.
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 05.08.2010 в 21:33. |
|
|||||
|
Не не, про бабблинг у Event`ов понятно - в конструкторе объявить дополнительный аргумент это вполне удобно.
Меня интересовал момент, почему эта вещь по идее должна быть объявлена в DisplayObject`е, но почему то объявлена в EventDispatcher - значит вполне возможно я не понимаю чего то в механике, ради чего и была поднята эта тема.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Modus ponens
|
Я думаю, что реализация такая, какая она есть потому, что ее не придумывали специально для флеша, а скопировали DOM3 события не особенно задумываясь о логике.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: May 2009
Сообщений: 220
|
Цитата:
Хорошо, допустим в плеере нативные классы сделаны на си с возможностью наследования реализации (я в си не знаток, но допустим). И копируются только внутренние механизмы DisplayObjectContainer. Тогда на кой черт в свободном доступе (хоть и переопределенными) у Stage оставили весь этот балласт из неиспользуемых свойств? Исключительно потому что "официально" Stage наследуется от DisplayObjectContainer? Типа "спалились"? Это глупо. И потом, подобные финты с сокрытием реальных родителей (в цепочке наследования) чреваты костылями. Например, в describeType писать: или заводить отдельное свойство/объект, которые содержит то, что нужно показать программеру, в противовес реальному. Так что ли ? ![]() Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|