我怎样才能访问根文件之外的阶段?

Cal*_*ays 0 actionscript-3

我修复了这个错误,之前问题的根源是'stage'无法访问我放置代码的地方(不在root中).我删除了它并且它运行正常,但是他们被附着的事件监听器不再工作了.我需要这些事件监听器但是当我尝试放置'阶段'时.面对它不会工作.救命?

这就是我工作时所拥有的(当这个文件仍然是根目录时):

        stage.addEventListener(KeyboardEvent.KEY_DOWN, keypressed);
        stage.addEventListener(KeyboardEvent.KEY_UP, keyreleased);
Run Code Online (Sandbox Code Playgroud)

现在我的代码就是这个,它运行,只是没有事件监听器工作:

        addEventListener(KeyboardEvent.KEY_DOWN, keypressed);
        addEventListener(KeyboardEvent.KEY_UP, keyreleased);
Run Code Online (Sandbox Code Playgroud)

sch*_*sch 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);
}
Run Code Online (Sandbox Code Playgroud)