加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:45:11 所属栏目:百科 来源:网络整理
导读: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 flas
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,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,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);
			}
		}

	}
}

  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读