サイトトップ

Director Flash 書籍 業務内容 プロフィール

Macromedia Flash非公式テクニカルノート

Stage.scaleModeプロパティ

ID: FN1007001 Platform: All Version: CS3/ActionScript 3.0 Runtime: Flash Player 9/AIR 1.0

Stageクラス
パッケージ flash.display
継承 Stage → DisplayObjectContainer → InteractiveObject → DisplayObject → EventDispatcher → Object
scaleModeプロパティ
文法 scaleMode:String
プロパティ値 Flash PlayerにおけるSWFファィルの表示領域に対するステージの伸縮モードを示す文字列。StageScaleModeクラスの定数で指定する。
実装 public function get scaleMode():String
public function set scaleMode(value:String):void

説明
Stage.scaleModeプロパティは、Flash PlayerにおけるSWFファイルの表示領域に対して、ステージがどのように伸縮されるかを示します。値は文字列で、StageScaleModeクラスに設定のための定数が定義されています。伸縮のモードは4つあり、[パブリッシュ設定]ダイアログボックスの[HTML]タグで選べる[伸縮]の指定と同じです(図001)。

図001■[パブリッシュ設定]ダイアログボックスの[HTML]タグで[伸縮]が設定できる

Stage.scaleModeプロパティに指定できるStageScaleModeクラスの4つの定数とその値、および[パブリッシュ設定]の対応する[伸縮]モードを下表001にまとめました。モードによる結果の違いは、(1)伸縮するか(2)しない(拡大・縮小なし)か、(2)伸縮する場合に縦横比を維持するか(3)しない(フィット)か、(3)縦横比を維持したとき余白をつくる(すべて表示)かはみ出した部分を切る(枠なし)かです。

表001■StageScaleModeクラスの定数とその結果
StageScaleModeクラス定数 プロパティ値 [伸縮]設定 設定結果
SHOW_ALL "showAll" [すべて表示]
(デフォルト)
SWFファイルの表示領域に対して、ステージの縦横比を保ち、全体が最大に表示されるように伸縮します。つまり、表示領域とステージの幅と高さをそれぞれ比較して、比率の差が小さい方に合わせて伸縮率を定めます。比率の差が大きい側は、外に背景色の余白が表れます。
NO_BORDER "noBorder" [枠なし] SWFファイルの表示領域に対して、ステージの縦横比を保ち、かつ余白なくもっとも広い範囲が表示されるように伸縮します。つまり、表示領域とステージの幅と高さをそれぞれ比較して、比率の差が大きい方に合わせて伸縮率を定めます。比率の差が小さい側は、外にはみ出した部分が切れます。
EXACT_FIT "exactFit" [フィット] SWFファイルの表示領域にちょうど収まるように、ステージの縦横がそれぞれ伸縮します。つまり、表示領域とステージの幅と高さがそれぞれ合うように水平と垂直の伸縮率を定めます。ステージの縦横比は保たれません。
NO_SCALE "noScale" [拡大・縮小なし] SWFファイルの表示領域が変わっても、ステージは伸縮しません。つまり、オーサリング時の指定に拘らず、表示領域の幅と高さのピクセル数がそのままステージの大きさになります[*1]。オーサリング時のステージより表示領域を狭めればその外は切れ、拡げればステージの外が表示されます。

[*1] Flash PlayerにおけるSWFファイルの表示領域に合わせて変わったステージの幅と高さのピクセル数は、Stage.stageWidth/Stage.stageHeightプロパティで調べられます。他のモードが選ばれたときは、これら両プロパティ値はオーサリング時に決めたステージサイズのまま変わりません。

参考
[ActionScript 3.0言語およびコンポーネントリファレンス] > [Stage]「scaleModeプロパティ

_____

作成者: 野中文雄
作成日: 2010年7月11日


Copyright © 2001-2006 Fumio Nonaka.  All rights reserved.