Вы можете установить город в качестве слушателя, ссылаясь на родителя его родителя.
class City extends Sprite
{
public function City()
{
this.addEventListener(Events.ADDED_TO_STAGE, this.foo()); // P.S. Verify event type. This is over the top of my head.
}
private function addedToStage(e:Event):void
{
this.parent.parent.addEventListener(Country.EVENT_TYPE, this.foo());
}
private function foo(e:Event):void
{
// Handle event
}
}
Теперь все это просто замечательно, но, вероятно, есть лучший способ создать свой код. Прямо сейчас у вас есть круговая зависимость, которая может привести к утечке памяти, если ее не очистить должным образом. Если вы можете уточнить ваши требования, кто-то может предложить альтернативный подход.