追記:画像を背景(Stage)一杯に拡大するクラスも作りました。併せてどうぞ。

ここ数年よく見かける全画面Flashですが、もちろんウィンドウサイズが毎回違うので、MovieClip(MC)の位置をいちいち計算してレイアウト、表示しています。そのための関数も軸ごと(例えばロゴは左上に付いて、メニューは下についてなど)に書き換えたりしなければいけないので、面倒でした。他にもaddListener、Stage.scaleMode、Stage.alignなど毎回書くのは面倒です。Action Script初級者には少し難しい表現であります。もちろん上を目指す上ではどれも必須のものですが。なのでそれらをまとめて”Utilitiesクラス”とすることによって簡略化してみました。


使い方はクラスを呼び出し、パブリッシュ時のステージサイズを指定し、それぞれMCと軸にしたい位置を指定するだけです。以下、実行コードです。

var UTL:Utilities = new Utilities();

UTL.setupStage(550,400);//ステージサイズを指定、Stage.align、Stage.scaleModeを設定

UTL.setReplace(MC,"TL");//MCをTopLeftに指定

このたった3行でMCの位置を自動で再計算してくれます。他のMCも追加したい際は最後の行を追加するだけでOKです。第ニ引数の”TL”が軸に指定したい位置です。上⇒T、中⇒M、下⇒B左⇒L、中⇒C、右⇒Rという設定になっています。しかしまだまだ無駄が多かったり足りない部分もあるので今後改良したいと思います。例えばリサイズ時に背景がウィンドウサイズと同じ大きさにというのもけっこう使いますよね。ほかにも便利な関数や素材ができたら公開していこうと思います。以下、サンプルとリソースです。

サンプル (9つのMCをそれぞれ各位置に指定)