Цитата:
Сообщение от WaldeMar1321
метод swap находится в Main
|
Что он там делает? Подписка в этом случае должна происходить не в классе героя, а к классу Main.
Здесь Main шлет событие INDEX_CHANGED. Естественно герой никак не может его услышать.
Если предположить, что герой тоже валяется в Main, и называется hero (к примеру). То, чтобы он услышал это событие, нужно сделать так:

Код AS3:
public function swap(e:MouseEvent):void
{
stage.swapChildrenAt(2, 3);//пока только два
hero.dispatchEvent(new cEvents(cEvents.INDEX_CHANGE));
}
Но это так же бессмысленно, потому что можно просто вызывать у героя какой-то метод.
Либо, другой вариант. В классе героя должна быть ссылка на Main, и подписка слушателя должна быть прикручена к этой ссылке
как-то так

Код AS3:
main.addEventListener(cEvents.INDEX_CHANGE, changed);
Советую почитать в справке как работают события, и погулить тоже. Так же у Колина Мука довольно неплохо описано всё