FlexでFullScreen
FlashPlayer9.0.28からサポートされているFullScreen機能を試してみました
試した環境
FlexBuilder2.0.1
FlashPlayer9.0.47
まず、FullScreenの機能を使うためには
・playerglobal.swc(フルスクリーン対応の)
・SWFラッパーHTML(ブラウザでSWFを再生する場合)
フルスクリーン対応の新しいplayerglobal.swcはこちらから取得してください
上記リンクから取得したplayerglobal.swcを
(他にもFLVのフルスクリーンサンプルなどが入ってます)
FlexSDKインストールフォルダ\frameworks\libs\内のplayerglobal.swcと置き換えます
僕の環境だとこれ ↓
C:\Program Files\Adobe\Flex Builder 2 Plug-in\Flex SDK 2\frameworks\libs
HTML内でSWFを再生する場合、<object/><embed/>タグに
allowFullScreen=true
の指定をしてあげる必要があります
AdobeDeveloperCenterのフルスクリーンの記事から
html-templeteファイルがダウンロードできるのでそれを差し替えるの一番早いと思います
ここまででとりあえず設定は終わりです
で、実際にフルスクリーンモードに切り替えるには、
flash.display.StageのdisplayStateを切り替えることで実現します
public function goFullScreen( event:Event ):void {
stage.displayState = StageDisplayState.FULL_SCREEN;
}
public function exitFullScreen( event:Event ):void {
stage.displayState = StageDisplayState.NORMAL;
}
デフォルトのflexframework(playerglobal.swc)にも上記で記述したクラス、クラス変数は入っているので
記述自体はできますが、設定されていない状態で実行すると
#2152 フルスクリーンモードを使用できません。
てなエラーがでます
その場合は、再度設定をみなおしてみてください
スタンドアロンのFlashPlayerで再生しているSWFではそのもの自体がフルスクリーンになりますが
ブラウザ内で再生しているSWFの場合、別画面として起動するみたいです
タブ切替などでもモードが終了してしまうので結構悲しいですね
フルスクリーンのサンプルとしてPapervision3Dのサメを最後に紹介します
http://www.papervision3d.org/
追記:
注意点として、フルスクリーン中は、セキュリティの観点からキーボード操作は全て受け付けないようです。