Actionscript 3 Actionscript3侦听自定义事件
我用的是椋鸟,但这不会改变任何事情。我有一个从WorldManager.as(gist:)发送的自定义事件,我正在用init方法在游戏中收听它 通过跟踪一切,事件被调度,事件监听器被添加,但回调方法永远不会被调用。我听错了吗Actionscript 3 Actionscript3侦听自定义事件,actionscript-3,actionscript,event-listener,starling-framework,Actionscript 3,Actionscript,Event Listener,Starling Framework,我用的是椋鸟,但这不会改变任何事情。我有一个从WorldManager.as(gist:)发送的自定义事件,我正在用init方法在游戏中收听它 通过跟踪一切,事件被调度,事件监听器被添加,但回调方法永远不会被调用。我听错了吗 谢谢。您正在收听已启动的事件。您需要提前添加事件侦听器 public class Game extends Sprite { public function Game() { this.addEventListener(Ev
谢谢。您正在收听已启动的事件。您需要提前添加事件侦听器
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!");
}
}
您正在侦听已触发的事件。您需要提前添加事件侦听器
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!");
}
}
如果你发布一些代码,我们可以看到你在做什么,你会得到更好的帮助。与问题相关的所有代码都有一个gist链接。如果你发布一些代码,我们可以看到你在做什么,你会得到更好的帮助。与问题相关的所有代码都有一个gist链接。