こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

雪の降るスクリプトで、、、

以前雪の降るスクリプトについて質問させていただいたものです。

フレームには、
for (k=0; k<50; k++) {
duplicateMovieClip(this.snow, "snow"+k, k);
}

で、ムービークリップには、
onClipEvent (load) {
//specifies the size of the movie stage
movieWidth = 300;
movieHeight = 200;

//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=50+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;
}
}

これを再生するといきなりステージに現れてしますのですが、
ステージの上からY座標Oから(上から降るように)するにはどう
したらよいでしょうか?

onClipEvent (load)に
this._y = 0;
と付け加えてみましたが駄目でした。
ご教授お願いいたします。

投稿日時 - 2006-03-26 00:22:21

QNo.2051770

困ってます

質問者が選んだベストアンサー

付け足すのではなくて,

 this._y = -10+Math.random()*movieHeight;
   ↓ 変更 ↓
 this._y = -movieHeight+Math.random()*movieHeight;

でしょうね。

投稿日時 - 2006-03-26 14:06:33

お礼

ありがとうございます。

ご教授いただいた通りできました。

本当にありがとうございました。

投稿日時 - 2006-03-27 22:26:40

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

#1です。ごめんなさい。大きな勘違いをしていました。

投稿日時 - 2006-03-26 15:43:56

ANo.1

映像として「風景があるところに雪が降り出し、降り続く」訳ですよね。だとしたら、「風景があるところに雪が降り出し」と「降り続く」は別にした方が良いのではないでしょうか?

書いてらっしゃるスクリプトは「降り続く」部分ですよね。それに手を加えるより、その前にループしないフレームを置いて、上からステージ半分ぐらいまで雪が落ちてくるシーンを入れてはどうでしょう? 映像としてはその方がすっきりすると思いますが。

投稿日時 - 2006-03-26 11:55:11

お礼

ありがとうございます。

無事解決いたしました。

投稿日時 - 2006-03-27 22:25:47

あなたにオススメの質問