如何从Adobe Flash中的AS3类访问舞台

Gra*_*thy 5 keyboard flash class stage actionscript-3

我遇到的问题是我使用keyboardEventListener来运行一个movieclip.由于我是一名大学生,我正在为一项任务创建这个,但我们被迫使用as3课程.

当我在maintimeline中运行代码时,没有问题.但是当我尝试从另一个类访问它时(在动画片段上有一个'Export for ActionScript')我得到一个错误,他无法解决这个阶段.

this.stage .addEventListener(KeyboardEvent.KEY_DOWN,dostuff);

Gre*_*g W 9

在你真正把它放在那里之前,AS3中的一个类不在舞台上.因此,"this.stage"在编译时将为null.您可以通过使用ADDED_TO_STAGE事件来延迟绑定侦听器,直到时机成熟,从而解决此问题.

public function MyClass(){
    this.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
}

private function addedToStageHandler(e:Event):void{
    this.stage.addEventListener(KeyboardEvent.KEY_DOWN, dostuff);
}
Run Code Online (Sandbox Code Playgroud)