AS3键盘事件不起作用

时间:2015-09-03 11:23:16

标签: actionscript-3 flash keyboard-events keycode

    ///toggle
    var tamEkranMi:Boolean = false;
    toggle.buttonMode = true;
    toggle.addEventListener(MouseEvent.CLICK, tamEkran);
    function tamEkran(e:MouseEvent)
    {
        if(tamEkranMi == false)
        {
            tamEkranMi = true;
            stage.displayState =  StageDisplayState.FULL_SCREEN_INTERACTIVE;
            toggle.gotoAndStop(2);
        }
        else
        {
            tamEkranMi = false;
            toggle.gotoAndStop(1);      
            stage.displayState = StageDisplayState.NORMAL;
        }
    }
/*top of this works fine

  below this just doesn't work when i try on a website

*/
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;
    stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);
    function reportKeyDown(e:KeyboardEvent):void 
    {
        switch(e.keyCode)
        {
            case Keyboard.ESCAPE:
                tamEkranMi = false;
                toggle.gotoAndStop(1);

        }   /*
       if(e.keyCode == Keyboard.ESCAPE)
       {
           tamEkranMi = false;
           stage.displayState = StageDisplayState.NORMAL;
           toggle.gotoAndStop(1);
       }*/
    } 

这是我的代码块。当我在我的电脑中使用它时,它工作正常,但当我使用网站尝试这些代码时,不工作。切换按钮有效但当我在键盘上使用 ESC 键时,代码块根本不起作用。

1 个答案:

答案 0 :(得分:2)

我认为您的问题仅仅是因为您使用了 Escape 键,该键被保留用于退出Flash播放器独立版本或网络浏览器的全屏模式当全屏模式处于活动状态时,否则,您可以毫无问题地捕获它。

对于FULL_SCREEN_INTERACTIVE模式,请勿忘记在html代码中启用它。

希望可以提供帮助。