flashでアクションスプリクトを使って雪を降らせるんですが、

56フレームで降らせる雪をとめたいんですが、やり方が分かりません。
おしてください。


onClipEvent (load) {
//ムービーサイズをここで指定します
movieWidth = 300;
movieHeight = 250;

//variables that will modify the falling snow
i = 1+Math.random()*2;
k = -Math.PI+Math.random()*Math.PI;

//giving each snowflake unique characteristics
this._xscale = this._yscale=100+Math.random()*100;
this._alpha = 75+Math.random()*100;
this._x = -10+Math.random()*movieWidth;
this._y = -10+Math.random()*movieHeight;
}
onClipEvent (enterFrame) {
//putting it all together
rad += (k/180)*Math.PI;
this._x -= Math.cos(rad);
this._y += i;
if (this._y>=movieHeight) {
this._y = -5;
}
if ((this._x>=movieWidth) || (this._x<=0)) {
this._x = -10+Math.random()*movieWidth;
this._y = -5;
}
}

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/05/22 12:03:27
  • 終了:2012/05/22 13:26:15

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4440ベストアンサー獲得回数18242012/05/22 13:12:47

雪の一粒が、ひとつのムービークリップになってる、ってことですよね、きっと。

いろいろ方法はあると思うんですけど、例えばこんな感じででょうでしょう。

onClipEvent (enterFrame) {
    if (_root._currentframe < 56) {     // ★ 56 フレームまで
        //putting it all together
        rad += (k/180)*Math.PI;
        this._x -= Math.cos(rad);
        this._y += i;
        if (this._y>=movieHeight) {
            this._y = -5;
        }
        if ((this._x>=movieWidth) || (this._x<=0)) {
            this._x = -10+Math.random()*movieWidth;
            this._y = -5;
        }

    } else {                        // ★ 56 フレームに達したら、ムービークリップを消しちゃう
        this.removeMovieClip();
    }
}


ぼくは、ActionScript って、さわったことが無いのですけれど、↓を参考にしてます。
http://hfm-kenchan.com/Lesson/log_qa/D0710151.htm

他1件のコメントを見る
id:a-kuma3

きちんと動いて、良かった。
実は、ドキドキしてました :-)

2012/05/22 13:30:33
id:littlesunshine26

大丈夫です!
ちゃんと動きましたw
ありがとうございます^^

2012/05/22 13:50:24

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません