フルスクリーンモードを開始または終了するための新しいActionScriptメソッド、およびフルスクリーンモードが開始または終了したときにムービーを通知する対応イベントが、ActionScript 2.0とActionScript 3.0に追加されました。 前述したとおり、フルスクリーンモードを開始するActionScriptは、マウスクリック、またはキー入力に反応する形でのみ動作します。
Stage.displayState:String property
このプロパティは取得と設定が可能です。 有効な値は次のとおりです。
fullScreennormalこのプロパティは、ムービーの現在の状態をチェックしたり、フルスクリーンモードを開始または終了したりするのに使用されます。
Stageオブジェクトのイベントリスナーは、ムービーがフルスクリーンモードを開始または終了するときに通知を行います。
EventListener.onFullScreen = function( bFull:Boolean ){}
Stage.addListener( EventListener );
このメソッドは、ムービーがフルスクリーンモードを開始または終了するときに呼び出されます。 この関数に対するブール値引数は、ムービーがフルスクリーンモードを開始した(true)か、終了した(false)かを示します。
Stage.fullScreenSourceRect:Rectangle property
このプロパティを使用すると、ステージのどの部分を画面全体に表示するかを指定できます。 このプロパティを指定すると、ハードウェアスケーリングモードも有効になります。 このプロパティは、ステージ内外のどこにでも設定できる矩形です。 フルスクリーンモードに移行する前に指定する必要があります。
フルスクリーンモードへの以降後にfullScreenSourceRectを調整しても、SWFの表示領域は変更されません。 また、指定した矩形の縦横比がユーザのモニターの縦横比と異なっている場合は、必要に応じて両脇に「バー」が追加されます。このバーの色は、そのSWFの背景色、またはHTMLで設定されたSWFの背景色と同じです。
ユーザがFlash Playerの設定でハードウェアスケーリングをオフにしているか、Flash Playerを実行しているマシンにハードウェアスケーリングで表示する機能が備わっていない場合、fullScreenSourceRectは無視され、通常のソフトウェア描画によるフルスクリーンモードが使用されます。
flash.display.Stage.displayState:String property
このプロパティは取得と設定が可能です。 有効な値はStageDisplayStateクラスから取得されます。
StageDisplayState.FULL_SCREENStage.DisplayState.NORMALこのプロパティは、ムービーの現在の状態をチェックしたり、フルスクリーンモードを開始または終了したりするのに使用されます。
Stageオブジェクトのイベントリスナーは、ムービーがフルスクリーンモードを開始または終了するときに通知を行います。
fullScreenHandler = function( event:FullScreenEvent ) {};
stage.addEventListener( FullScreenEvent.FULL_SCREEN, fullScreenHandler );
受け取るAS3イベントはFullScreenEventで、これはActivityEventを拡張します。 FullScreenEventにはブール値のfullScreenプロパティがあります。このプロパティは、ムービーがフルスクリーンモードを開始した(true)か、終了した(false)かを示します。
ActionScript 3.0では、上記のセキュリティ上の制約の1つによって表示が禁止されているときに表示状態をStageDisplayState.FULL_SCREENに設定すると、プラグインまたはActiveXコントロールでセキュリティエラーが発生します。
flash.display.Stage.fullScreenSourceRect:Rectangle property
このプロパティを使用すると、ステージのどの部分を画面全体に表示するかを指定できます。 このプロパティを指定すると、ハードウェアスケーリングモードも有効になります。 このプロパティは、ステージ内外のどこにでも設定できる矩形です。 フルスクリーンモードに移行する前に指定する必要があります。
フルスクリーンモードへの以降後にfullScreenSourceRectを調整しても、SWFの表示領域は変更されません。 また、指定した矩形の縦横比がユーザのモニターの縦横比と異なっている場合は、必要に応じて両脇に「バー」が追加されます。このバーの色は、そのSWFの背景色、またはHTMLで設定されたSWFの背景色と同じです。
ユーザがFlash Playerの設定でハードウェアスケーリングをオフにしているか、Flash Playerを実行しているマシンにハードウェアスケーリングで表示する機能が備わっていない場合、fullScreenSourceRectは無視され、通常のソフトウェア描画によるフルスクリーンモードが使用されます。
新しいフルスクリーンActionScriptを使用してムービーをパブリッシュしたときにエラーが出ないようにするには、インストールされているFlash CS3 ProfessionalまたはFlex SDKのバージョンを更新する必要があります。
Flash CS3 ProfessionalでActionScript 3.0を使用しているか、Flex BuilderでFlex 2.0.1 SDKを使用していれば、ActionScript 3.0クラスファイルで新しいフルスクリーンActionScriptがサポートされます。 何もする必要はありません。
Flash CS3 ProfessionalでActionScript 2.0を使用して、Flash 9のムービーをパブリッシュする場合は、ActionScript 2.0クラスファイルに新しいActionScriptプロパティが含まれているので、エラーは発生しません。 以前のバージョンのFlashとしてパブリッシュする場合は、多少不恰好な構文を使用することができます。
Stage["displayState"] = "fullScreen";
ただし、次の構文の方が簡単です。
Stage.displayState = "fullScreen";
ソフトウェア描画によるフルスクリーンモードの拡大/縮小動作は、ムービーのscaleMode設定によって決定されます。この設定はActionScript、または<object>タグおよび<embed>タグから行います。 デフォルトのscaleMode設定はshowAllです。この設定ではフルスクリーンモードでムービーが画面のサイズに拡大されますが、その縦横比は維持されます。 ムービーの拡大・縮小動作をプログラムで制御するには、scaleModeをnoScaleに設定します。 この場合、ムービーは拡大されませんが、ステージの幅と高さのプロパティがフルスクリーンモードで新しいステージサイズを示すように更新され、ステージのサイズ変更イベントハンドラが呼び出されます。
fullScreenSourceRectを指定してハードウェアスケーリングによるフルスクリーンモードを使用している場合は、SWFの拡大/縮小によってフルスクリーンモードの機能が影響を受けることはありません。