0

我正在使用八哥,但这不应该改变任何东西。我有一个从 WorldManager.as 发送的自定义事件(要点:https ://gist.github.com/raimonds1503/5101967 ),我正在使用初始化方法中的游戏收听它。

通过跟踪所有内容,事件被分派并添加事件侦听器,但从不调用回调方法。我在听错误的对象吗?

谢谢你。

4

1 回答 1

3

您正在监听已经触发的事件。您需要提前添加事件侦听器。

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!");
    }
}
于 2013-03-06T19:33:59.413 回答