本人目前用4.6sdk, 在此基础上全屏分为两种, 一种是不接受键盘事件, 一种接受键盘事件
flash builder4.6 自带player 11.1
如果不对sdk进行任何操作, 只能完成不接受键盘事件的全屏, 但此功能对于绝大多数项目而言等于没用.
实现方法:
(由于web项目index.template.html文件中自带<param name="allowFullScreen" value="true" />, 此处不再赘述)
在button的click事件中写入 stage.displayState = StageDisplayState.FULL_SCREEN; 即可
但该句代码需写在click事件中才能执行, 否则会报错: 不允许使用全屏模式.
不过在player 11.3版本之后, 就提供了接受键盘事件的全屏模式
实现方法:
首先需要对4.6sdk中的player进行升级(此处以11.3版本为例)
1. 在FlashBuilder安装目录下, 找到sdks\4.6.0\frameworks\libs\player, 里面有个名为11.1的文件夹
2. 在此目录下新建一个文件夹, 名为11.3, 到网上下载11.3的playerglobal放入该文件夹内, 并改名为playerglobal.swc, 必须为此名! 否则会报错playerglobal.swc文件找不到.
3. 到FlashBuilder中打开项目属性, Flex编译器 - Adobe Flash Player选项 - 使用特定版本, 改为11.3.0
4. 到index.template.html文件中, 在params.allowfullscreen = "true"; 下一行加入params.allowFullScreenInteractive = "true";
或 在attributes.align = "middle"; 下一行加入attributes.allowFullScreenInteractive = "true";
(二者选其一即可, 目前还未测出有何不同, 如果有朋友知道哪里有不同, 请留言告知, 在此谢过!)
5. 在button的click事件中写入stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 即可
另外还有一种方法可以实现全屏, 但此方法需修改IE的安全属性, 个人认为不可行
ExternalInterface.call("function (){new ActiveXObject('WScript.Shell').SendKeys('{F11}');}");
修改IE选项: //对未标记为可安全执行脚本的 ActiveX 初始化并执行脚本 (启用)
//下载未签名的 ActiveX 控件 (启用)