フルスクリーンモードに切り替える

(サンプル一覧を表示する)

フルスクリーンモードに切り替えるテストをしてみました。

フルスクリーンモードでは、キーボード操作ができなくなるようです。
マウスはそのまま使えます。

写真素材は、LittleHut さんからお借りしました。
Flash の実行画面
フルスクリーンモードに切り替える

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

フルスクリーンモードに切り替える
Firefox の場合、通常モードに戻る時、
たまに Flash の画面が消えて、
マウスが効かなくなってしまうようです。
いったん Firefox を非アクティブにすると直ります。

ソースコード

package 
{
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.display.StageDisplayState;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	
	/**
	 * フルスクリーンモードに切り替えるサンプル
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		/**
		 * 埋め込み画像
		 */
		[Embed(source='../image/test001.jpg')]
		private var image:Class;
		
		/**
		 * 埋め込み画像表示用ビットマップ
		 */
		private var bitmap:Bitmap;
		
		/**
		 * メッセージ表示用テキストフィールド
		 */
		private var textField:TextField;
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化メソッド
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// 埋め込み画像を画面に表示
			bitmap = new image;
			bitmap.smoothing = true;
			addChild(bitmap);
			
			// テキストフィールドの準備
			textField = new TextField();
			textField.autoSize = TextFieldAutoSize.LEFT;
			textField.selectable = false;
			textField.htmlText = '<font color="#FFFFFF">' +
								 "クリックするたびに、フルスクリーンモードと\n" +
								 "通常モードを切り替えます。" + 
								 '</font>';
			addChild(textField);
			
			// マウスが押された時のイベントを登録
			stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
		}
		
		/**
		 * マウスが押された時のイベント
		 * @param	e
		 */
		private function onMouseDown(e:Event):void 
		{
			// スクリーンモードを切り替える。
			// マウスやキーボードの操作があった時にしか
			// 画面モードを切り替えることはできないらしいです。
			switch (stage.displayState)
			{
				// 通常モードの時はフルスクリーンへ移行
				case StageDisplayState.NORMAL:
					var rect:Rectangle;
					rect = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
					
					stage.displayState = StageDisplayState.FULL_SCREEN;
					stage.fullScreenSourceRect = rect;
					break;
				// フルスクリーンの時は通常モードへ移行
				case StageDisplayState.FULL_SCREEN:
					stage.displayState = StageDisplayState.NORMAL;
					break;
			}
		}
		
	}
	
}
		

フルスクリーンモードに移行するためには、
HTML 内の Flash の Object タグに、

<param name="allowFullScreen" value="true" />

を書き足して、フルスクリーンモードを許可する設定にする必要があります。
これをしなかった場合、フルスクリーンに移行する処理は無視されます。

外部リンク