アドアチーブ株式会社

アドアチーブ株式会社 オフィシャルブログ

2008.07.15全画面FLASH

久しぶりにFLASHの話です。

前々からしてみたいと思っていた全画面FLASHを作ることができました◎
なんだか最近クリエイティブから離れていた気がするので、
久しぶりにFLASHを触れて満足(?)です。

楽しいなぁ。こうゆうの。

 

全画面をするときに、ステージサイズをnoScaleにすると、
レイアウトが同じままなので、この_mcは左寄せ とか、
この_mcはステージサイズに合わせて伸縮する とか、
いちいち指定しなければなりません。

それをチョッとでも簡単にしようとあがいた結果、
下記のようなスクリプトが出来ました。

汚い書き方さらすのは恥ずかしいのですが…_root1フレーム目--------------------------------------------------------------------------- 

Stage.scaleMode="noScale";
Stage.align="TL";

var myListener:Object = new Object();
myListener.onResize = function () {
     designResize()
}
Stage.addListener(myListener);

stage_w = Stage.width;
stage_h = Stage.height;
//実際にはステージサイズを数字でいれないといけません。

function designResize(){
    for(var i in mc_array){
        //move
        mc= mc_array[i];
        if((eval(mc).m == "x") || (eval(mc).m == "xy")){
            eval(mc)._x = Stage.width-eval(mc).l;
        }
        if((eval(mc).m == "y") || (eval(mc).m == "xy")){
            eval(mc)._y = Stage.height-eval(mc).u;
        }
        //resize
        if((eval(mc).r == "x") || (eval(mc).r == "xy")){
            eval(mc)._width = (Stage.width - stage_w)+eval(mc).w;
        }
        if((eval(mc).r == "y") || (eval(mc).r == "xy")){
            eval(mc)._height = (Stage.height - stage_h)+eval(mc).h;
        }
    }
}

mc_array = new Array();
function coo(mc,mvSw,reSw){
    eval(mc).l=stage_w-eval(mc)._x
    eval(mc).u=stage_h-eval(mc)._y;
    eval(mc).w=eval(mc)._width;
    eval(mc).h=eval(mc)._height;
    eval(mc).m=((mvSw==undefined)||(mvSw==""))?false:mvSw;
    eval(mc).r=(reSw==undefined||(reSw==""))?false:reSw;
    mc_array.push(mc);
}

//coo(MCの名前,移動する方向,リサイズする方向)
coo("xxxxxx_mc","y","x")
designResize()

-----------------------------------------------------------------


coo("xxxxxx_mc","y","x")
っていう関数で、リサイズするときに動く(もしくは拡大する)_mcを指定しておけば
リサイズがあったときに座標(or大きさ)を再計算するよ。
っていう感じのアレです。

右上基準なので、センター寄せとか、
平均っていう考え方は無いのですが、
MC毎に動き方を指定するときなど、こんな感じに作っておくと、
後からだいぶ便利になるかも?

第2,3引数は yx って書いたらアウトです。w
xy と。

この記事へのトラックバック

トラックバックURL:  http://www.adachieve.com/~mt/mt334/mt-tb.cgi/1273


この記事へのコメント


名前:
E-mail:
URL:
  情報を記憶: