• ベストアンサー

ランダムに降りつつさらに回転をさせたいのですが

ランダムに雪がふりつつ、回転もランダムに加えるスクリプトを 作成したのですが、 http://oshiete1.goo.ne.jp/qa2434589.html こちらのANo.2さんのサンプルのスクリプトにさらに、 作成される雪のムービークリップ一つ一つに、 ランダムな回転を加えたいのですが、どうしたらよいのでしょうか? どうか宜しくお願い致します。

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

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

引用URLの #2 の者です。 大きく変更しなければ, 次の ★ 印の付いた 4行の部分を変更すれば良いと思います。 // ---各(※可変)の数値を設定してください------- // 枯葉の枚数の設定(※可変) var maisuu = 12; // 枯葉の落ちるスピードの設定(※可変) var speed = 7; // 枯葉の分散度合いの設定(※可変) var bunsan = 160; // 左右のタイミングの設定(※可変) var timing = 40; // // --------------------------------------- // その他変数の初期値を設定 var count1 = 0; var count2 = timing; var flag = -1; // // 1フレーム進む時間ごとに毎回実行 this.onEnterFrame = function() { // // ---右から落ちる枯葉の初期処理---------- // もし変数 count1 が (timing*2) で割り切れたとき if (count1%(timing*2) == 0) { // kareha1 ~kareha? の複製と初期プロパティの設定 for (var i = 1; i<=maisuu; i++) { // kareha を複製 duplicateMovieClip(_root.kareha, "kareha"+i, i); // 座標に関する乱数の取得 _root["ranx"+i] = Math.floor(Math.random()*bunsan*2+1)-bunsan; _root["rany"+i] = Math.floor(Math.random()*bunsan*2+1)-bunsan; // 回転に関する乱数の取得 _root["ranr"+i] = Math.floor(Math.random()*360); // ★回転速度に関する乱数の取得 _root["rans"+i] = Math.floor(Math.random()*40)+5; // アルファに関する乱数の取得 _root["rana"+i] = Math.floor(Math.random()*40)+55; // 初期座標の指定 _root["kareha"+i]._x = Stage.width+200+_root["ranx"+i]; _root["kareha"+i]._y = -200+_root["rany"+i]; // 初期回転角度の指定 _root["kareha"+i]._rotation = _root["ranr"+i]; // 初期アルファの指定 _root["kareha"+i]._alpha = _root["rana"+i]; } // // ---左から落ちる枯葉の初期処理---------- // もし変数 count2 が (timing*2) で割り切れたとき } else if (count2%(timing*2) == 0) { // kareha11 ~kareha1? の複製と初期プロパティの設定 for (var i = 1; i<=maisuu; i++) { // kareha を複製 duplicateMovieClip(_root.kareha, "kareha1"+i, maisuu+i); // 座標に関する乱数の取得 _root["ranx"+i] = Math.floor(Math.random()*bunsan*2-1)-bunsan; _root["rany"+i] = Math.floor(Math.random()*bunsan*2-1)-bunsan; // 回転に関する乱数の取得 _root["ranr"+i] = Math.floor(Math.random()*360); // ★回転速度に関する乱数の取得 _root["rans"+i] = Math.floor(Math.random()*40)+5; // アルファに関する乱数の取得 _root["rana"+i] = Math.floor(Math.random()*40)+55; // 初期座標の指定 _root["kareha1"+i]._x = -200+_root["ranx"+i]; _root["kareha1"+i]._y = -200+_root["rany"+i]; // 初期回転角度の指定 _root["kareha1"+i]._rotation = _root["ranr"+i]; // 初期アルファの指定 _root["kareha1"+i]._alpha = _root["rana"+i]; } } // // ---右から枯葉を落とす------------ // kareha1 ~ kareha? を動かす for (var i = 1; i<=maisuu; i++) { // 座標を動かす _root["kareha"+i]._x -= speed+i; _root["kareha"+i]._y += speed*2; // ★回転させる _root["kareha"+i]._rotation += _root["rans"+i]; } // // ---左から枯葉を落とす------------ // kareha11 ~ kareha1? を動かす for (var i = 1; i<=maisuu; i++) { // 座標を動かす _root["kareha1"+i]._x += speed+i; _root["kareha1"+i]._y += speed*2; // ★回転させる _root["kareha1"+i]._rotation -=_root["rans"+i]; } // // 変数 count1 と count2 に 1 を加える count1++; count2++; }; // ------------------------------------------ しかし, 「雪っぽい」動きは, 次の URL の方が雪っぽいと思います↓。 「雪が降るスクリプトについて」 http://oshiete1.goo.ne.jp/qa1835975.html  ↑教えて!goo ↓OKWave (同じです) http://okwave.jp/qa1835975.html 上記の変更版↓。 「雪の降るスクリプトで、、、」 http://oshiete1.goo.ne.jp/qa2051770.html  ↑教えて!goo ↓OKWave (同じです) http://okwave.jp/qa2051770.html その発展版↓。 「Flashで泡の動き」 http://okwave.jp/qa2139053.html  ↑教えて!goo ↓OKWave (同じです) http://oshiete1.goo.ne.jp/qa2139053.html

bed
質問者

お礼

わざわざ、ご本人様にご回答いただきましてどうも有り難うございました。早速、やってみます。

関連するQ&A