我修复了这个错误,之前问题的根源是'stage'无法访问我放置代码的位置(不在root中)。我删除它并且它运行正常,但是他们被附着的事件监听器不再工作了。我需要这些事件监听器但是当我尝试放置'阶段'时。面对它不会工作。帮助
这就是我工作时所拥有的(当这个文件仍然是根目录时):
stage.addEventListener(KeyboardEvent.KEY_DOWN, keypressed);
stage.addEventListener(KeyboardEvent.KEY_UP, keyreleased);
现在我的代码是这样的,它运行,只是没有事件监听器工作:
addEventListener(KeyboardEvent.KEY_DOWN, keypressed);
addEventListener(KeyboardEvent.KEY_UP, keyreleased);
答案 0 :(得分:5)
stage
属性为null
,直到元素添加到舞台中。所以你应该首先听一下事件Event.ADDED_TO_STAGE
,当你收到它时,你可以添加你的其他事件监听器:
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
function addedTostage():void
{
removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keypressed);
stage.addEventListener(KeyboardEvent.KEY_UP, keyreleased);
}
答案 1 :(得分:-1)
使用它来访问舞台:
var myMC:MovieClip = new MovieClip();
addChild(myMC);
var _stage:Stage = myMC.stage;
trace("the AS3 Stage.width: "+_stage.stageWidth);
trace("returns the width of objects on stage: "+_stage.width);
trace("the AS3 Stage.height: "+_stage.stageHeight)
trace("returns the height of objects on stage: "+_stage. height);
来源:http://www.iheartactionscript.com/stage-access-outside-of-documentroot-in-as3/