我正在使用八哥,但这不应该改变任何东西。我从WorldManager.as(gist:https://gist.github.com/raimonds1503/5101967)调度了一个自定义事件,我正在使用init方法在Game上听它。
通过跟踪所有内容,将调度事件并添加事件侦听器,但永远不会调用回调方法。我在听错了对象吗?
谢谢。
答案 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!");
}
}