swf自动适应大小的变化,设置swf的全屏,支持退出全屏的esc快捷键

9 篇文章 0 订阅
package
{
	import com.pblabs.engine.PBE;
	import com.pblabs.rendering2D.SpriteRenderer;
	import com.pblabs.rendering2D.ui.SceneView;
	
	import flash.display.Sprite;
	import flash.display.StageDisplayState;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.FullScreenEvent;
	import flash.events.MouseEvent;
	import flash.system.fscommand;
	
	import helper.HH_Fun;


	public class mytest01 extends Sprite
	{
		private var allSp:Sprite = new Sprite();
		public function mytest01()
		{
			//不要忘记不能加上面的标题 [SWF(width="950",height="560",backgroundColor="0X00AAFF")]
			PBE.startup(this);
			
			var sv:SceneView = new SceneView();
			sv.width  = 950;
			sv.height = 560;
			sv.name   = "mainSceneView";
			
			allSp.graphics.beginFill(0XCCCCCC);
			allSp.graphics.drawRect(0,0,950,560);
			
			PBE.mainStage.addChild(allSp);
			
			//自动适应浏览器大小 已经测试通过
			//PBE.mainStage.scaleMode=StageScaleMode.NO_SCALE;
			//PBE.mainStage.addEventListener(Event.RESIZE, resizeDisplay);
			
			//flash全屏,测试通过
			fscommand("trapallkeys","true");
			allSp.addEventListener(MouseEvent.CLICK,clickSp);
			PBE.mainStage.addEventListener(FullScreenEvent.FULL_SCREEN, keyDownEvent);	//监听的是swf大小的变化,不是浏览器的大小变化,如果swf比浏览器的可是区大小要小,那么这个监听不生效,无法监听到swf的变化
			
		}
		
		private function clickSp(event:MouseEvent):void
		{
			//PBE.mainStage.displayState = StageDisplayState.FULL_SCREEN;
			trace("bbbbbbbbb   "+stage.stageWidth+','+stage.stageHeight);
			switch(stage.displayState) {
				case "normal":
					stage.displayState = "fullScreen";      
					break;
				case "fullScreen":
				default:
					stage.displayState = "normal";      
					break;
			}
			
		}
		
		private function resizeDisplay(event:Event):void
		{
			
			trace("aaaaaaaaaaa   "+stage.stageWidth+','+stage.stageHeight);
			allSp.graphics.clear();
			allSp.graphics.beginFill(0XCCCCCC);
			allSp.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
			
		}
		
		
		private function keyDownEvent(evn:FullScreenEvent):void
		{
			if (evn.fullScreen == false)//退出全屏
			{
				trace("退出全屏");
				trace("退出全屏   "+stage.stageWidth+','+stage.stageHeight);
			}
			if (evn.fullScreen == true)//退出全屏
			{
				trace("进入全屏");
				trace("进入全屏   "+stage.stageWidth+','+stage.stageHeight);
			}
		}

	}
}

  


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值