Home > tips > Flash

2008.01.13

MC拡大縮小

MCの拡大縮小です。


mcmove3.fla

onClipEvent (load) {
    var scale:Number = 100;
    var flag:Number = 0;
    _x = 190;
    _y = 190;
}
onClipEvent (enterFrame) {
    _xscale = scale;
    _yscale = scale;
    
    //マイナス値のチェック
    if(scale<0){
        trace(scale);
        scale = -scale;
    }
    
    if(flag==0){
    scale += 10;
    if(scale > 300){
        flag = 1;
    }
    } else {
    scale -= 10;
    
    if(scale < 10){
        flag = 0;
    }
    }
    
}

MC回転

MCの回転スクリプトです。


mcmove2.fla

onClipEvent (load) {
    var i:Number = 1;
    _x = 190;
    _y = 190;
}
onClipEvent (enterFrame) {
    this._rotation += 5;
}

this._rotation で回転をかけます。 thisなので自分を回転します。
これをMCの名前を指定すると、指定したMCが回転します。

+= 10; この数字で、速度が変わります。
-= 10; これで逆回転します。

MC移動

FlashのMC移動のアクションスクリプトです。


mcmove.fla

onClipEvent (load) {
    var i:Number = 0;
}
onClipEvent (enterFrame) {
    if (i < 190) {
    ++i;
    _x += 1;
    _y += 1;
    }
}

onClipEvent(load)を使ってMCに始めに、実行するプログラムを書きます。
iに0を代入しています。Numberは入れるものを数字ですって感じで指定します。
0が文字扱いなのか、数字扱いなのかでエラーが出る事もあるので綺麗に書いた方がエラーが減ります。
:Numberで使う時は、varを入れてつかうようです。

例えば
a = 1;
b = 2;
c = a + b;
c = 3;

なのですが、文字扱いになっているときには 12になってしまいます。1+2になることがあります。

onClipEvent (enterFrame)  はフレーム事に実行するって事です。
_x はx軸に移動する事が出来ます。
_y はy軸に移動する事が出来ます。
iに0を代入しているとき、i++; は i は0;になりますが、++iの場合は i は 1になります。
i++ は i に1を代入して、1を入れる前のモノを返します。
++i は 1 を代入して、それを返します。

んーな感じです。
普段、なんとなく使っていても深く知ると面倒ですねw