Flex4 web项目全屏

来源:互联网 发布:伽利略和北斗频率知乎 编辑:程序博客网 时间:2024/06/14 12:56

本人目前用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 控件 (启用)

0 0
原创粉丝点击