如何在AS3 Standalone Flash Player中使用组合键Ctrl + Enter?

时间:2015-06-16 09:49:14

标签: actionscript-3 flash

如果按下组合键Ctrl + Enter,我做了一个小测试会使屏幕变黑:

private function onKeyDown(e:KeyboardEvent):void {
    if (e.ctrlKey == true && e.keyCode == Keyboard.ENTER) {
        ColorTransformer.transformColor(screen, new Color(Color.Black));
    }
}

Ctrl和其他键的组合效果很好。

更新

我的IDE是FlashDevelop 5.0.0。该项目在浏览器中运行良好。我也在Flash Player(15 Debugger)中运行它并且它没有工作所以我认为这是因为Flash Player。

1 个答案:

答案 0 :(得分:2)

要回答这个问题,事实上,您发布的代码可以正常运行。

正如评论中所指出的,这个问题是独立的Flash Player截获某些键组合,因为它自己的键盘快捷键(ctr + enter是播放电影)。

我知道有两种解决方案可以解决您的问题:

  1. 在独立Flash播放器中使用fscommand来捕获这些快捷键:

    flash.system.fscommand("trapallkeys","true");
    
  2. 使用更强大的Adobe Air平台(如果您不热衷于此,如果您在调用adt中添加适当的标记,则可以将AIR项目导出为独立的.exe {。{ 1}})。使用AIR FlashDevelop模板时,您可以在-target bundle中更改此行:

    bat/packager.bat

    要:

    call adt -package %OPTIONS% %SIGNING_OPTIONS% %OUTPUT% %APP_XML% %FILE_OR_DIR%
    

    然后你会得到一个文件夹(在空中目录中),里面有一个.exe(windows),不需要在用户机器上安装任何东西。