Stage クラスは Flash コンテンツの描画領域に対応するクラスです。(livedocs@lab) DisplayObject は Stage のインスタンスの領域上に表示されます。AS2 での Stage はグローバルオブジェクトでしたが、AS3 では DisplayObject.stage プロパティからアクセスします。
Stage にはいくつかの便利なイベントがあり、Flash Player と OS 間のフォーカス情報などを知ることが出来ます。
activate : Flash Player が OS からフォーカスを貰ったとき deactivate : Flash Player が OS のフォーカスを失くしたとき mouseLeave : マウスポインターが Stage の領域外に移動したとき resize : scaleMode=noScale で Stage の大きさが変更されたとき
Stage は DisplayObjectContainer のサブクラスですが、多くのプロパティやメソッドは Stage には適用することが出来ません。(例えば Stage を回転させるとか) これらの機能を誤って使用すると例外が投げられるようになっています。 該当するプロパティは alpha, blendMode, cacheAsBitmap, contextMenu, filters などです。一方 Stage 固有のプロパティも存在します。例えば、以下のようなものがあります。
public align : String // ステージの配置(StageAlign.TOP,StageAlign.LEFT,...) public quality : String // 描画クオリティ(StageQuality.LOW, StageQuality.BEST,...) public scaleMode : String // 使用するスケールモード(StageScaleMode.NO_SCALE,...)
DisplayObject.root プロパティについて
DisplayObject の root プロパティは、自身が含まれる SWF の root を指します。Loader により読み込まれた SWF 内の DisplayObject からは、root は読み込まれた SWF のトップの DisplayObject です。(AS3 では、読み込まれた SWF は Loader の子オブジェクトになるのでした。従って、読み込んだ側の Loader.content と読み込まれた SWF の DisplayObject.root は同じオブジェクトを指します。)
Stage も DisplayObject のため root プロパティを持ちますが、これはメインの root を指しています。従って、任意の DisplayObject からは DisplayObject.stage.root のようにして、メインの root を参照することができます。
コメントする