Actionscript 3 ActionScript 3事件不发生';行不通

Actionscript 3 ActionScript 3事件不发生';行不通,actionscript-3,Actionscript 3,我是AS的新手,正在尝试我的第一份申请。我有一个类,可以管理一些事件,比如键盘按键: public class GameObjectController extends Sprite { var textField:TextField; public function GameObjectController() { addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } priva

我是AS的新手,正在尝试我的第一份申请。我有一个类,可以管理一些事件,比如键盘按键:

public class GameObjectController extends Sprite
{
    var textField:TextField;

    public function GameObjectController()
    {
        addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
    }

    private function onKeyDown(event: KeyboardEvent):void
    {
        trace("123");
    }
}

但当我运行它,按下任何按钮时,都不会发生任何事情。我做错了什么?

尝试
stage.addEventListener()
用于
键盘事件

原因是,无论您将事件添加到什么,都需要焦点,而
阶段始终具有焦点

如果
GameObjectController
不是文档类,则需要将
stage
解析到其构造函数中,才能使其工作,否则需要先将其添加到stage中。前者的实施将不那么麻烦

public function GameObjectController(stage:Stage)
{
    stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
}

将键盘事件添加到后台并导入KeyboardEvent类

package
{
    import flash.display.Sprite;
    import flash.events.KeyboardEvent;

    public class GameObjectController extends Sprite
    {
        public function GameObjectController()
        {
            stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownEventHandler);
        }

        private function keyDownEventHandler(event:KeyboardEvent):void
        {
            trace(event);
        }
    }
}

你是否将按钮与你的类
GameObjectController
映射?看起来我没有。什么意思?