Actionscript3 прослушивает пользовательское событие

Я использую скворец, но это ничего не должно изменить. У меня есть пользовательское событие, отправленное из WorldManager.as (суть: https://gist.github.com/raimonds1503/5101967), и я слушаю его в методе Game init.

При отслеживании всего событие отправляется и добавляется прослушиватель событий, но метод обратного вызова никогда не вызывается. Я слушаю не тот объект?

Спасибо.


person Raimonds    schedule 06.03.2013    source источник
comment
Вы получите лучшую помощь, если опубликуете часть своего кода, чтобы мы могли видеть, что вы делаете.   -  person Scott    schedule 06.03.2013
comment
Вот эта основная ссылка со всем кодом, имеющим отношение к проблеме.   -  person Raimonds    schedule 06.03.2013


Ответы (1)


Вы прослушиваете событие после того, как оно уже запущено. Вам нужно добавить прослушиватель событий раньше.

public class Game extends Sprite 
{       
    public function Game() 
    {
        this.addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event):void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);
        trace("Starling running");
        GV.worldManager = new WorldManager();
        GV.worldManager.addEventListener(NewWorldEvent.CHANGE, addToStage); 
        this.addChild(GV.worldManager);
        GV.worldManager.setWorld(new World());
    }

    private function addToStage(e:NewWorldEvent):void 
    {
        this.addChild(e.world as World);
        trace("Handling new world event!");
    }
}
person Scott    schedule 06.03.2013