Показать сообщение отдельно
Старый 02.09.2013, 09:40
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 4  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Я бы сделал с сигналами.
"Ребенок":
Код AS3:
package  
{
	import org.osflash.signals.Signal;
 
	public class EventChild 
	{
		public var myLittleSignal:Signal;
 
		public function EventChild() 
		{
			//Наш сигнал, который будет диспатчить сигнал с нужными данными
			myLittleSignal = new Signal(EventChild);
		}
 
		private function dispatchSomeData(child:EventChild):void
		{
			//Диспетчиризуем сигнал со ссылкой на данный объект
			myLittleSignal.dispatch(child);
		}
 
		//Вспомогательня функция
		public function doSomething():void
		{
			dispatchSomeData(this);
		}
	}
}
"Класс родитель"
Код AS3:
package  
{
	public class EventParent 
	{
		private var _child:EventChild;
 
		public function EventParent() 
		{
			_child = new EventChild();
			//Добавляем слушатель на сигнал "дочернего" объекта
			_child.myLittleSignal.add(childSignalListener);
			_child.doSomething();
		}
 
		private function childSignalListener(child:EventChild):void
		{
			trace(child);
		}
	}
}
Для вложенных детей можно сделать переброс событий с ссылками на объекты дальше наверх)