- ベストアンサー
attachMovieで表示した複数のMCが一瞬ずつしか表示されません
- attachMovieでMCを複数表示しているのですが、ランダムに表示したMCが一瞬ずつしか表示されません。
- 抱えている問題は、_root.dep++; で深度が変わっているにも関わらず、すばやく消えて次のMCが表示されることです。
- stop();を追加しても下に落ちていかない問題も発生しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
maxVolumeの値を調整することで量を変えることが出来ます。 もっとたくさん降らすこともできますが、 どの程度たくさんなのか解らなかったので、 まぁこの程度かと・・・ // 深度の初期値を設定 var dep = 0; // 大きくなる限度を設定 var mag = 80; //降ってくるインスタンスの量 1が最大量。 数が増えていくごとに量が減っていきます var maxVolume = 5; var count = 0; this.onEnterFrame = function() { if (count%maxVolume == 0) { _root.dep++; _root.attachMovie("aaa","myMC"+_root.dep,_root.dep); _root["myMC"+_root.dep]._y = -mag; //座標を指定 _root["myMC"+_root.dep]._x = Math.random()*Stage.width; // 大きさを指定 var my_scale = Math.random()*_root.mag; _root["myMC"+_root.dep]._xscale = my_scale; _root["myMC"+_root.dep]._yscale = my_scale; _root["myMC"+_root.dep].onEnterFrame = function() { if (this._y<Stage.height) { //下に落ちていく this._y += 10; } else { delete this; this.removeMovieClip(); } }; } count++; if (count > 1000000) { count = 1; } };
その他の回答 (1)
- an631
- ベストアンサー率82% (28/34)
参考にされた記事を確認していませんが、 以下の方法でいかがでしょうか? 下記スクリプトを1フレーム目に記入 ------------------------------------ // 深度の初期値を設定 var dep = 0; // 大きくなる限度を設定 var mag = 80; this.onEnterFrame = function () { if (_root["myMC"+_root.dep]._y > Stage.height || !dep) { _root.dep++; _root.attachMovie("aaa", "myMC"+_root.dep, _root.dep); //座標を指定 _root["myMC"+_root.dep]._x = Math.random()*Stage.width; // 大きさを指定 var my_scale = Math.random()*_root.mag; _root["myMC"+_root.dep]._xscale = my_scale; _root["myMC"+_root.dep]._yscale = my_scale; } //下に落ちていく _root["myMC"+_root.dep]._y += 10; }
お礼
どうもありがとうございます!できました! が、じつはMCがたくさん降ってくる感じにしたいのです。 今の状態だと一つのMCが一番下まで行くと、次のMCが表示されるのですが、 同時に複数のMCを表示させることはできないでしょうか? どうぞよろしくお願いいたします。
お礼
ありがとうございます!できました。 降る量もちょうどいい感じです。 理解できるように頑張って勉強していきます。 本当にどうもありがとうございました。