本文和大家重点讨论一下Flex全屏的原理和局部Flex全屏的几种方法,Flex全屏和flash全屏其实是相似的,都是由as控制的,当选择以Flex全屏
显示的时候,会自动更改swf的高和宽,以Flex全屏
幕显示整个swf。
Flex全屏
1.Flex全屏的原理:
Flex全屏和flash全屏其实是相似的,都是由as控制的,当选择以Flex全屏显示的时候,会自动更改swf的高和宽,以Flex全屏幕显示整个swf。
2.局部Flex全屏的两种方法:
一、使用在flash.display包中有一个stage对象,它有一个属性是fullScreenSourceRect:Rectangle,设置FlashPlayer以将特定的舞台区域放大到Flex全屏模式。
二、Flex全屏时调整某组件的高度和宽度,铺满整个屏幕,当退出Flex全屏时,要还原组件的高度和宽度。
3.Flex全屏的代码实现:
第一种方法:
-
//valid,willenablehardwarescaling
-
stage.fullScreenSourceRect
=
newRectangle
(0,0,320,240);——详细代码可以查看
Flex帮助
第二种方法:(注意:在Application中添加的初始化函数,使用的是applicationComplete事件)
-
<?
xmlversion
xmlversion
="1.0"
encoding
="utf-8"
?>
-
-
<
mx:Applicationxmlns:mx
mx:Applicationxmlns:mx
="http://www.adobe.com/2006/mxml"
layout
="vertical"
-
applicationComplete
="init(event)"
viewSourceURL
="srcview/index.html"
>
-
-
<
mx:Script
>
-
<![CDATA[
-
importflash.display.StageDisplayState;
-
-
privatefunctioninit(evt:Event):void{
-
/*Setupfullscreenhandler.*/
-
Application.application.stage.addEventListener(FullScreenEvent.FULL_SCREEN,fullScreenHandler);
-
dispState=Application.application.stage.displayState;
-
}
-
-
privatefunctionfullScreenHandler(evt:FullScreenEvent):void{
-
dispState=Application.application.stage.displayState+"(fullScreen="+evt.fullScreen.toString()+")";
-
if(evt.fullScreen){
-
/*Dosomethingspecifichereifweswitchedtofullscreenmode.*/
-
}else{
-
/*Dosomethingspecifichereifweswitchedtonormalmode.*/
-
}
-
}
-
-
privatefunctiontoggleFullScreen():void{
-
try{
-
switch(Application.application.stage.displayState){
-
caseStageDisplayState.FULL_SCREEN:
-
/*Ifalreadyinfullscreenmode,switchtonormalmode.*/
-
Application.application.stage.displayState=StageDisplayState.NORMAL;
-
break;
-
default:
-
/*Ifnotinfullscreenmode,switchtofullscreenmode.*/
-
Application.application.stage.displayState=StageDisplayState.FULL_SCREEN;
-
break;
-
}
-
}catch(err:SecurityError){
-
//ignore
-
}
-
}
-
]]>
-
</
mx:Script
>
-
-
<
mx:Stringid
mx:Stringid
=
"dispState"
/>
-
-
<
mx:Labeltext
mx:Labeltext
=
"width={Application.application.width}"
/>
-
<
mx:Labeltext
mx:Labeltext
=
"height={Application.application.height}"
/>
-
<
mx:Labeltext
mx:Labeltext
=
"displayState={dispState}"
/>
-
-
<
mx:Buttonlabel
mx:Buttonlabel
="Togglefullscreen"
click
="toggleFullScreen()"
/>
-
-
</
mx:Application
>
-
--------------------------------------------------并修改index.template.html:-------------------------------------------
-
AC_FL_RunContent(
-
"src","main",
-
"width","100%",
-
"height","100%",
-
"align","middle",
-
"id","main",
-
"quality","high",
-
"bgcolor","#869ca7",
-
"name","main",
-
"allowScriptAccess","sameDomain",
-
"type","application/x-shockwave-flash",
-
"pluginspage","http://www.adobe.com/go/getflashplayer",
-
"allowFullScreen","true"
-
);
注意:
1、Application.application.stage.displayState=StageDisplayState.FULL_SCREEN;
//必须把它放到按钮或键盘事件中,否则在AS2.0里会被忽略,AS3.0里会抛出以下异常SecurityError:Error#2152:不允许使用Flex全屏模式。atflash.display::Stage/setdisplayState()
2、Flex全屏下Flash文本框无法输入,设计界面请勿支持Flex全屏,而且Flex全屏下做不到屏蔽右键的功能
本文摘自:http://developer.51cto.com/art/201008/216028.htm
分享到:
相关推荐
3. **性能优化技巧**:为了提高Flex应用程序的响应速度和用户体验,开发者需要掌握一些性能优化策略,比如使用局部刷新代替全屏重绘、减少DOM操作次数等。 4. **部署与发布**:最后一步是将开发完成的应用程序打包成...
少儿编程scratch项目源代码文件案例素材-直升机飞行.zip
wanjunshe_Python-Tensorflow_12888_1745868924470
健康监测_Android开发_BLE蓝牙通信_心率数据采集与存储_基于小米手环2的实时心率监测应用_支持后台长时间运行的心率记录工具_可导出SQLite数据库的心率数据分析系统_适
少儿编程scratch项目源代码文件案例素材-种花模拟器.zip
嵌入式系统开发_FreeRTOS实时操作系统_STM32F103C8T6微控制器_OLED显示屏_DHT11温湿度传感器_多任务调度_多级菜单设计_万年历算法_电子闹钟功能_参数配
基于python实现的粒子群的VRP(车辆配送路径规划)问题建模求解+源码+项目文档+算法解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。
scratch少儿编程逻辑思维游戏源码-猫猫粉碎.zip
scratch少儿编程逻辑思维游戏源码-蓝胡子.zip
scratch少儿编程逻辑思维游戏源码-美食大亨.zip
scratch少儿编程逻辑思维游戏源码-洛克人.zip
scratch少儿编程逻辑思维游戏源码-龙冲刺.zip
思幻个人引导页V2.2版本11月29日更新.zip
scratch少儿编程逻辑思维游戏源码-骑士风斩法.zip
移动应用开发_H5CSS3ionicng-cordovaMVVM模式_基于HTML5和CSS3技术实现多页面布局ionic指令数据绑定ui-route单页跳转调用手机
少儿编程scratch项目源代码文件案例素材-植物大战僵尸创造版 Ver. 1.0.3.zip
scratch少儿编程逻辑思维游戏源码-日落(2).zip
动态星空背景个人主页(带后台).zip
scratch少儿编程逻辑思维游戏源码-迷雾森林:诞生 3.2 起源觉醒.zip
lib文件