Цитата:
Сообщение от Psycho Tiger
Нет, просто в хелпе в цепочке наследования пропущен DisplayObjectContainer.
|
наследование в AS3 предполагает получение наследником ВСЕХ свойств. Это значит, что будь SimpleButton наследником DisplayObjectContainer, то как минимум можно было бы вызвать addChild, пусть даже он был переопределен на выброс ошибки. Однако, этого сделать нельзя.
Хорошо, допустим в плеере нативные классы сделаны на си с возможностью наследования реализации (я в си не знаток, но допустим). И копируются только внутренние механизмы DisplayObjectContainer. Тогда на кой черт в свободном доступе (хоть и переопределенными) у Stage оставили весь этот балласт из неиспользуемых свойств? Исключительно потому что "официально" Stage наследуется от DisplayObjectContainer? Типа "спалились"? Это глупо.
И потом, подобные финты с сокрытием реальных родителей (в цепочке наследования) чреваты костылями. Например, в describeType писать:

Код AS3:
if (value is SimpleButton || value is TextField) /*скрываем DisplayObjectContainer*/;
или заводить отдельное свойство/объект, которые содержит то, что нужно показать программеру, в противовес реальному.
Так что ли ?
Цитата:
Сообщение от Psycho Tiger
Что то в голову не приходят идеи как это можно проверить. Поделитесь идеей, пожалуйста.
|
потести скорость диспатча
без баблинга: EventDispatcher, Sprite и наследника EventDispatcher с переопределенным dispatchEvent. Например так:

Код AS3:
override public function dispatchEvent(event:Event):Boolean {
var b:Boolean = true;
if (b) return super.dispatchEvent(event);
return false;
}