• ベストアンサー

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

以前雪の降るスクリプトについて質問させていただいたものです。 フレームには、 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; と付け加えてみましたが駄目でした。 ご教授お願いいたします。

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

  • ベストアンサー
noname#35109
noname#35109
回答No.2

付け足すのではなくて,  this._y = -10+Math.random()*movieHeight;    ↓ 変更 ↓  this._y = -movieHeight+Math.random()*movieHeight; でしょうね。

noname#124617
質問者

お礼

ありがとうございます。 ご教授いただいた通りできました。 本当にありがとうございました。

その他の回答 (2)

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.3

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

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.1

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

noname#124617
質問者

お礼

ありがとうございます。 無事解決いたしました。