現在のステージの方向および縦横比の取得

方向は、デバイスの通常の位置を基準として報告されます。ほとんどのデバイスには、明確な直立位置があります。この位置を「 default 」(デフォルト)方向と考えます。他に取りうる 3 つの方向は、「 rotated left 」(左に回転)、「 rotated right 」(右に回転)、「 upside down 」(上下反転)です。StageOrientation クラスは、方向の値の設定や比較に使用する文字列定数を定義します。

Stage クラスでは方向を報告する 2 つのプロパティを定義します。

  • Stage.deviceOrientation - デフォルト位置を基準としたデバイスの物理的な方向を報告します。

    注意: deviceOrientation は常に取得できるとは限りません。アプリケーションの最初の起動時や、デバイスが水平に置かれている場合などは、デバイスの方向が「 unknown 」(不明)として報告されます。
  • Stage.orientation - デフォルト位置を基準としたステージの方向を報告します。自動回転が有効な場合、ステージは直立状態を維持するよう、デバイスとは逆の方向に回転します。このため、 orientation プロパティが報告する右と左の位置は、 deviceOrientation プロパティが報告する右と左の位置とは逆になります。例えば、 deviceRotation rotated right と報告する場合、 orientation rotated left と報告します。

ステージの縦横比は、現在のステージの幅と高さを単純に比較することによって導き出すことが可能です。

var aspect:String = this.stage.stageWidth >= this.stage.stageHeight ? StageAspectRatio.LANDSCAPE : StageAspectRatio.PORTRAIT;