Actionscript3 слуша персонализирано събитие

Използвам starling, но това не трябва да променя нищо. Имам персонализирано събитие, изпратено от WorldManager.as (gist: 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