Хотя я получаю то, чего вы пытаетесь достичь, я думаю, что лучший подход к дизайну - позволить контейнеру управлять своими детьми.
Например, если контейнер получает событие от child1, то роль контейнера в том, чтобы заботиться об уведомлении других детей, если это необходимо. Этот подход также делает очень ясным в коде контейнера базовое взаимодействие между всеми дочерними элементами контейнера. Если бы я перебирал чей-то код, я бы по достоинству оценил такую методологию.
При этом у вас может быть метод в child2 и child3, который позволит вам передать child1 в качестве параметра, а затем добавить слушателя для child1 внутри. Например:
в контейнере код:
child2.setChildListener(child1);
child3.setChildListener(child1);
Тогда в child2 и child3, вы могли бы сделать что-то вроде этого:
public function setChildListener(childToListenTo:MovieClip):void
{
childToListenTo.addEventListener(MouseEvent.CLICK, childClickedHandler);
}
private function childClickedHandler(e:MouseEvent):void
{
// react to the child click here
}
Простите, прототип Я положил это как ответ, потому что я не знал, как опубликовать это изображение как комментарий. Прошу прощения, если я нарушу правила. Я удалю это прямо сейчас. – irnik
Нет проблем, но ваш ответ был совершенно новым вопросом. Вы попросили подход, затем вы попытались реализовать и столкнулись с «другой» проблемой. – prototypical
да, я знаю, что это путаница в моей голове. Я работаю над этим в любую минуту в свободное от работы время, не сплю, не ем. Я хочу узнать этот чертов язык. – irnik