MX2004初心者です。
ライブラリにsakura_mc(10フレーム)があります。 さくらの花びらが手前に飛んでくるこまアニメです。
//乱数生成関数
function rndInit(maxNum){
var a = math.random();
var b = Math.ceil( a*maxNum );
return b;
}
MC = "sakura"
SW = Stage.width;
SH = Stage.height;
this.onEnterFrame = function(){
if( rndInit(10) == 1 ){
count ++;
newName = MC + count;
attachMovie( "sakura_mc", newName, 1 );
//表示位置の設定
this[ newName ]._x = Math.random()*SW;
this[ newName ]._y = Math.random()*SH;
}
}
この方法だと、sakura_mcがステージ上ランダムな位置に連続で再生 してくれます。
ただ、二つ以上のsakura_mcを同時にステージに再生はしてくれません。
sakura_mcを同時にいっぱい再生させたい場合はどうすればよいでしょうか?
sakura2_mcをつくって同じ命令を追加してもダメでした。
よろしくお願いします。
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/000018 …
あと,
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以上なので消せます。)
すでにそうしてあったらすみません。
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;
}
};
------------------------------------------------
早速の回答ありがとうございます。
できました。が、どんどん桜の花びらが増えることに気づきました。
if ( count >= 10 ){
this.onEnterFrame = null;
}
を中に足せば、10枚で止めることができました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 相対性理論のエネルギーについて 3 2023/02/10 15:59
- スピーカー・コンポ・ステレオ MCカートリッジのオススメを教えてください。 お時間割いてくださりありがとうございます。 当方、現在 10 2022/07/04 14:20
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- BTOパソコン https://www.youtube.com/watch?v=8h8EVXotOwQ&t=14s 2 2022/12/23 02:25
- アイドル・グラビアアイドル 嵐の中でも櫻井翔がMC向き扱いだったけど。 むしろ バラエティやらみていて 爺ちゃん ばあちゃん 国 2 2022/12/03 19:49
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- 工学 材料力学(構造力学?)についての問題です。 写真のような形で部材CDの内力を考えます。 C点からの距 1 2022/11/22 00:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
縦横比率のを変えずに画像のサ...
-
テキストファイルから読み込ん...
-
四角形の端っこをドラッグした...
-
ラッコって?
-
看護師です。体温表のマクロを...
-
VBAで改行の入ったデータの正規...
-
VBScriptでMsgBoxのYesNoボック...
-
【VB.NET】別Formのボタンが押...
-
C# chart controlの透過について
-
static関数がmapファイルに載ら...
-
プログラミング、アーキテクチ...
-
ACCESSフォームで、入力から一...
-
Actionscriptでふわふわ感を再...
-
画面の範囲選択
-
アセンブリ言語のcasl2について...
-
'2465'指定した式で参照してい...
-
POIでのテキストボックス作成に...
-
C言語でのマウスを移動とマウス...
-
python ボタンを押すと複数の関...
-
photoshopで書いた四角の枠の中...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで改行の入ったデータの正規...
-
VBAユーザーホームテキストボッ...
-
テキストファイルから読み込ん...
-
Flashで外部jpgファイルをmcに...
-
FlashでドラッグしたMCをリセッ...
-
AS3 mc0~5をまとめて処理する
-
upc 7915と mc7915ctは互換性有...
-
ラッコって?
-
縦横比率のを変えずに画像のサ...
-
テキスト入力
-
ステージの背景画像のみ拡大縮...
-
eval関数を利用して複数の処理...
-
ランダムに mcを連続attachM...
-
外部SWFファイルを再生バーでコ...
-
四角形の端っこをドラッグした...
-
看護師です。体温表のマクロを...
-
as3 addchildで生成したMCにリ...
-
Flashからリンクする際のconfir...
-
以下のActionScriptをスッキリ...
-
Suzukaで一行ニュースティッカ...
おすすめ情報