开发环境:FlashDevelop
步骤:
1.新建一个as3工程:FullScreen
目录:E:/ActionScript/FullScreen
2.在Main.as中敲入如下代码:
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
public class Main extends Sprite
{
[Embed(source = "../image/bg.jpg")]
private var BG:Class;
private var mBg:Bitmap;
[Embed(source = "../image/btn_0.png")]
private var BTN0:Class;
private var mBtn0:Bitmap;
[Embed(source = "../image/btn_1.png")]
private var BTN1:Class;
private var mBtn1:Bitmap;
[Embed(source = "../image/btn_2.png")]
private var BTN2:Class;
private var mBtn2:Bitmap;
public function Main():void
{
//设置舞台
stage.displayState = StageDisplayState.NORMAL;
stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = StageAlign.TOP;
//添加舞台按键监听(按ESC键取消最大化)
stage.addEventListener(KeyboardEvent.KEY_DOWN, OnKeyDown);
mBg = new BG as Bitmap;
mBtn0 = new BTN0 as Bitmap;
mBtn1 = new BTN1 as Bitmap;
mBtn2 = new BTN2 as Bitmap;
//添加背景
addChild(mBg);
//添加按钮
var button:MyButton = new MyButton;
button.SetParameter(mBtn0.bitmapData, mBtn1.bitmapData, mBtn2.bitmapData);
addChild(button);
button.x = 100;
button.y = 100;
button.addEventListener(MouseEvent.CLICK, OnFullScreemClick);
}
//ESC键取消全屏
private function OnKeyDown(e:KeyboardEvent):void
{
switch(e.keyCode)
{
case 27: //ESC键值
stage.displayState = StageDisplayState.NORMAL;
break;
}
}
//全屏按钮事件
private function OnFullScreemClick(e:MouseEvent):void
{
switch(stage.displayState)
{
case StageDisplayState.NORMAL:
stage.displayState = StageDisplayState.FULL_SCREEN;
break;
case StageDisplayState.FULL_SCREEN_INTERACTIVE: //flash打开的全屏参数
case StageDisplayState.FULL_SCREEN: //网页打开的全屏参数
stage.displayState = StageDisplayState.NORMAL;
break;
}
}
}
}
说明:as3的全屏功能的实现主要是舞台stage的displayState属性
StageDisplayState.NORMAL 正常
StageDisplayState.FULL_SCREEN_INTERACTIVE flash打开swf时全屏的状态
StageDisplayState.FULL_SCREEN 网页中的swf全屏的状态
然后参考上面按键响应函数内的代码和鼠标响应函数内的代码即可实现全屏。