Actionscript3侦听自定义事件

时间:2013-03-06 18:55:19

标签: actionscript-3 actionscript event-listener starling-framework

我正在使用八哥,但这不应该改变任何东西。我从WorldManager.as(gist:https://gist.github.com/raimonds1503/5101967)调度了一个自定义事件,我正在使用init方法在Game上听它。

通过跟踪所有内容,将调度事件并添加事件侦听器,但永远不会调用回调方法。我在听错了对象吗?

谢谢。

1 个答案:

答案 0 :(得分: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!");
    }
}