Stage クラスは、DisplayObject クラスのほとんどのプロパティとメソッドをオーバーライドします。オーバーライドされたプロパティまたはメソッドのいずれかを呼び出した場合、Flash Player および AIR は例外をスローします。例えば、Stage オブジェクトは、アプリケーションのメインコンテナとして位置が固定されているため、x プロパティや y プロパティを持ちません。x プロパティおよび y プロパティは、コンテナを基準として表示オブジェクトの位置を参照します。Stage オブジェクトは別の表示オブジェクトコンテナに含まれていないため、この 2 つのプロパティは適用されません。
Stage クラスの framerate プロパティは、アプリケーションにロードされたすべての SWF ファイルのフレームレートを設定するために使用します。詳細については、ActionScript 3.0 コンポーネントリファレンスガイドを参照してください。
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
var swfStage:Stage = videoScreen.stage;
swfStage.scaleMode = StageScaleMode.NO_SCALE;
swfStage.align = StageAlign.TOP_LEFT;
function resizeDisplay(event:Event):void
{
var swfWidth:int = swfStage.stageWidth;
var swfHeight:int = swfStage.stageHeight;
// Resize the video window.
var newVideoHeight:Number = swfHeight - controlBar.height;
videoScreen.height = newVideoHeight;
videoScreen.scaleX = videoScreen.scaleY;
// Reposition the control bar.
controlBar.y = newVideoHeight;
}
swfStage.addEventListener(Event.RESIZE, resizeDisplay);
フルスクリーンモードを使用すると、ムービーのステージがユーザーのモニタ全体に収まるように表示され、コンテナの境界線またはメニューは表示されないように設定できます。Stage クラスの displayState プロパティは、SWF のフルスクリーンモードのオンとオフの切り替えに使用されます。displayState プロパティは、flash.display.StageDisplayState クラス内の定数で定義された値のいずれかに設定できます。フルスクリーンモードをオンにするには、displayState を StageDisplayState.FULL_SCREEN に設定します。
// Send the stage to full-screen in AS3 stage.displayState = StageDisplayState.FULL_SCREEN; // Exit full-screen mode in AS3 stage.displayState = StageDisplayState.NORMAL; // Send the stage to full-screen in AS2 Stage.displayState = "fullScreen"; // Exit full-screen mode in AS2 Stage.displayState = "normal";
フルスクリーンモードは別のウィンドウにフォーカスを切り替える、またはキーの組み合わせのいずれか(Esc キー(すべてのプラットフォーム)、Ctrl + W キー(Windows)、Cmd + W キー(Mac)、または Alt + F4(Windows))を使用しても終了できます。
フルスクリーンモードのステージの拡大・縮小の動作は、通常モードのものと同じです。拡大・縮小は、Stage クラスの scaleMode プロパティで制御されます。scaleMode プロパティを StageScaleMode.NO_SCALE に設定すると、Stage の stageWidth プロパティおよび stageHeight プロパティが変更され、SWF が占有する画面領域のサイズが反映されます(この場合、画面全体)。ブラウザで表示した場合、これに対応する HTML パラメータにより設定が制御されます。
Stage クラスの fullScreen イベントを使用して、フルスクリーンモードのオン・オフを検出し、対応することができます。例えば、この例のように、フルスクリーンモードにする、またはフルスクリーンモードを終了する際にアイテムの位置を変更する、画面にアイテムを追加する、または画面からアイテムを削除することができます。
import flash.events.FullScreenEvent;
function fullScreenRedraw(event:FullScreenEvent):void
{
if (event.fullScreen)
{
// Remove input text fields.
// Add a button that closes full-screen mode.
}
else
{
// Re-add input text fields.
// Remove the button that closes full-screen mode.
}
}
mySprite.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenRedraw);
このコードに示されているように、fullScreen イベントのイベントオブジェクトは、flash.events.FullScreenEvent クラスのインスタンスであり、フルスクリーンモードが有効(true)であるか無効(false)であるかを示す fullScreen プロパティが含まれています。
ActionScript のフルスクリーンモードを操作する際には、以下の注意事項を考慮してください。
<object>
...
<param name="allowFullScreen" value="true" />
<embed ... allowfullscreen="true" />
</object>
Web ページで JavaScript を使用して SWF 組み込みタグを生成する場合、JavaScript を変更して allowFullScreen param タグ/属性を追加する必要があります。例えば、HTML ページで AC_FL_RunContent() 関数(Flex Builder 生成 HTML ページと Flash 生成 HTML ページで使用される関数)を使用する場合、次のように、この関数に allowFullScreen パラメータを追加する必要があります。
AC_FL_RunContent(
...
'allowFullScreen','true',
...
); //end AC code
これはスタンドアロン Flash Player で実行されている SWF ファイルには当てはまりません。
この他にも、理解する必要があるセキュリティ関連の制限がいくつかあります。これらについては、セキュリティサンドボックスで説明します。
Stage クラスの fullScreenSourceRect プロパティを使用すると、Flash Player または AIR でステージの特定領域をフルスクリーンモードに拡大・縮小するように設定できます。Flash Player および AIR は、ユーザーのコンピュータに取り付けられているグラフィックカードおよびビデオカードが利用できる場合は、それらを使用してハードウェアにより拡大・縮小を実行します。これは、一般的に、ソフトウェアでコンテンツを拡大・縮小して表示するより高速です。
ハードウェアによる拡大・縮小を利用するには、ステージ全体またはステージの一部をフルスクリーンモードに設定します。以下の AS3 コードでは、ステージ全体をフルスクリーンモードに設定しています。
import flash.geom.*;
{
stage.fullScreenSourceRect = new Rectangle(0,0,320,240);
stage.displayState = StageDisplayState.FULL_SCREEN;
}
このプロパティを有効な矩形に設定し、displayState プロパティをフルスクリーンモードに設定すると、Flash Player および AIR は、指定した領域を拡大・縮小します。ActionScript 内の実際の Stage のサイズ(ピクセル単位)は変更されません。Flash Player および AIR は、矩形のサイズの下限値を強制し、「Press Esc to exit full-screen mode」という標準的なメッセージを表示します。この下限値は通常は約 260×30 ピクセルですが、プラットフォームおよび Flash Player のバージョンによって異なる場合があります。
Flash Player または AIR がフルスクリーンモードでない場合は、fullScreenSourceRect プロパティのみ設定できます。このプロパティを正しく使用するには、コード例に示されているように、このプロパティを最初に設定し、次に displayState プロパティをフルスクリーンモードに設定します。拡大・縮小を有効にするには、fullScreenSourceRect プロパティを矩形オブジェクトに設定します。
stage.fullScreenSourceRect = new Rectangle(0,0,320,240); // Valid, will enable hardware scaling.
拡大・縮小を無効にするには、fullScreenSourceRect プロパティを AS3 では null に、AS2 では undefined に設定します。
stage.fullScreenSourceRect = null;
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート