• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ランダムに mcを連続attachMovieさせるアニメ)

ランダムにMCを連続attachMovieさせるアニメ

このQ&Aのポイント
  • MX2004初心者の質問です。sakura_mcをステージ上でランダムな位置に連続で再生させたい場合、二つ以上のsakura_mcを同時に再生する方法を教えてください。
  • ステージ上でsakura_mcを連続で再生させる方法を知りたいです。
  • MX2004初心者ですが、sakura_mcを同時に複数再生させたい方法を教えてください。

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

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

#1 です。 先のことは色々問題が生じるとは思いましたが, #1では,とりあえず現在の状況についてのみ回答しました。 > if ( count >= 10 ){ >  this.onEnterFrame = null; > } > を中に足せば、10枚で止めることができました。 それでも悪くはないと思いますが, this.onEnterFrame = null; より delete this.onEnterFrame; の方が良いようです。 イベントハンドラメソッドはdeleteで消せ! http://f-site.org/articles/2004/05/22140833.html Flashドキュメンテーション > delete ステートメント http://livedocs.adobe.com/flash/8_jp/main/00001865.html あと, this.onEnterFrame は削除されても, sakura0~sakura9 はステージ上に残っていると思います。 ----------------------------------------------- if (count>=10) { for (i=0; i<=count; i++) { this[MC+i].removeMovieClip(); } delete this.onEnterFrame; } ----------------------------------------------- のようにして, removeMovieClip() を削除してやるか, これでは,唐突に消えて不自然なようでしたら, シンボル sakura_mc の最終フレームに this.removeMovieClip(); と書いておいて,消す方が良いとは思います。 (複製した sakura0~sakura9 は深度0以上なので消せます。) すでにそうしてあったらすみません。  

brosis
質問者

お礼

詳しい回答ありがとうございます。また、面白いサイトををしえていただき、ありがとうございます。

その他の回答 (1)

noname#35109
noname#35109
回答No.1

同じ深度に複数のものは存在できません。 同じ深度に新たなものを作成すると,前の物は削除されます。 attachMovie("sakura_mc", newName, 1);  ↓変更↓ attachMovie("sakura_mc", newName, count); でうまく行くのではないかとは思いますが, その他細かい点も気になったので,全文書いてみました。 ★印のコメントを付けた次の行を若干変更しています。 -------------------------------------------- //乱数生成関数 function rndInit(maxNum) { // ★ math → Math var a = Math.random(); var b = Math.ceil(a*maxNum); return b; } // ★変数 count の初期化(Flash MX 以前はなくても可) count = 0; MC = "sakura"; SW = Stage.width; SH = Stage.height; this.onEnterFrame = function() { if (rndInit(10) == 1) { count++; newName = MC+count; // ★深度を変える 1 → count attachMovie("sakura_mc", newName, count); //表示位置の設定 this[newName]._x = Math.random()*SW; this[newName]._y = Math.random()*SH; } }; ------------------------------------------------

brosis
質問者

お礼

 早速の回答ありがとうございます。  できました。が、どんどん桜の花びらが増えることに気づきました。  if ( count >= 10 ){ this.onEnterFrame = null; } を中に足せば、10枚で止めることができました。

関連するQ&A