Показать сообщение отдельно
Старый 15.05.2018, 17:28
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 10  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,643
Записей в блоге: 4
Цитата:
Сообщение от djken Посмотреть сообщение
А, ну у меня в родительском методе вконце стоит диспатч события после загрузки картинки.
Код AS3:
dispatchEvent(new Event('COMPLETE'));
Получается я могу его так же в наследнике слушать.. я что-то не додумался сразу до этого )
Код AS3:
super.addEventListener('COMPLETE', onCompleteHandler);
...
 
private function onComplete(e:Event):void
{
	var _cb:CheckBox = new CheckBox();
	addChild(_cb);
}
Значит можно без override обойтись )
Пасиб! )
Ну, во-первых писать типы событий хардкодом типа "COMPLETE" - это моветон. Можно легко опечататься и потом думать и гадать, почему не работает. Всегда используй для этого константы.
Во-вторых, для события complete есть штатная константа Event.COMPLETE, даже свою объявлять не надо
Ну и в третьих - отправка события - это всегда более ресурсоемкий способ, чем вызов метода. У тетя там и так событие приходит при загрузке картинки. Создавать еще одно - это оверхэд. Оверрайд в данном случае более правильный подход. Не нужно ни слушателей дополнительных ни событий и всё по ООПшному
А если событие все-таки нужно для чего-то ещё, то ты можешь не создавать новое, а просто передиспатчить то же
Код AS3:
dispatchEvent(e);
__________________
Ко мне можно и нужно обращаться на ты)