メイン コーダーズルーム【スクリプト系】 動的に配置したMovieClip内の変数が有効になるタイミングは? | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kenjis | Åê¹ÆNo.46890 投稿日時: 2011-1-23 22:35 |
新米 居住地: 投稿: 3
使用環境:
WindowsXP FlashCS5 |
動的に配置したMovieClip内の変数が有効になるタイミングは? 初めて利用させて頂きます。
OSはWindows、FlashのバージョンはCS5です。 大量のMovieClip(円形の画像"circle")をstageに配置し続け、参照を配列に格納、 配置したMovieClip内には自分を消す関数【circleDelete()】を用意しております。 任意のタイミングで、配列内の全MovieClipに対してcircleDelete()を実行し、画面上のMovieClipを全て消す処理を作っています。 具体的には以下の通りです。 マウスダウンで消去、マウスアップで再開します。 ■■メインのタイムライン■■
■■円形のMovieClip"circle"のタイムライン■■
上記の処理で"時々"エラーが出るのですが、エラーを出すMovieClipは決まって直近に呼び出して配置したMovieClipです。 traceの結果(上記ではコメント化してます) 1.stageは参照出来る。 2.テスト用に作った変数testが100で初期化しているのに0である。 3.親の参照用に用意した変数parentMcがnullである。 という訳で、MovieClipがnewされた瞬間に中の変数が有効になっていないような気がするのですが、どのようなタイミングで有効になるのでしょうか。 また、エラーを出さずに上記のような処理をする事は可能でしょうか。 自分なりに色々検証したり調べてみたのですが、これ以上分かりませんでした。 参考サイトのURLだけでも構いませんのでどなたか御教授頂ければ幸いです。 |
野中文雄 | Åê¹ÆNo.46891 投稿日時: 2011-1-23 23:13 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 動的に配置したMovieClip内の変数が有効になるタイミングは? 拙著『ActionScript 3.0プロフェッショナルガイド』Chapter 2「スクリプトによるアニメーション」(書籍紹介ページにPDFプレビューを公開)p.059より引用:
スクリプトには、実行の順序があります。フレームアクションは、親のタイムラインから先に処理されます。つまり、最初にメインタイムラインのフレームアクション(図02-017)が実行され、その後ムービークリップのフレームアクション(スクリプト02-006)が処理されるのです。 引用: kenjisさんは書きました: |
kenjis | Åê¹ÆNo.46892 投稿日時: 2011-1-23 23:47 |
新米 居住地: 投稿: 3
使用環境:
WindowsXP FlashCS5 |
Re: 動的に配置したMovieClip内の変数が有効になるタイミングは? Fumio様
ご返答有難う御座います。 スクリプトの実行順序に関してはある程度理解しております。 今回の事例だとエラー時点でstageが参照出来る状態である事から、newでの生成、addChildで表示リストに追加まではされている状態にはなっていると思います。 にもかかわらず変数が有効になっていないので今回質問させて頂きました。 |
野中文雄 | Åê¹ÆNo.46893 投稿日時: 2011-1-23 23:52 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 動的に配置したMovieClip内の変数が有効になるタイミングは? 引用したPDFはお読みいただきましたか。「newでの生成、addChildで表示リストに追加まではされている状態」であっても、第1フレームアクションが実行されていなければ「変数」に値は入りません。
■■メインのタイムライン■■
■■円形のMovieClip"circle"のタイムライン■■
引用: kenjisさんは書きました: |
kenjis | Åê¹ÆNo.46894 投稿日時: 2011-1-24 0:22 |
新米 居住地: 投稿: 3
使用環境:
WindowsXP FlashCS5 |
Re: 動的に配置したMovieClip内の変数が有効になるタイミングは? Fumio様
迅速にご返答頂き有難う御座います。 引用に関しては具体的な例があると思わず、ちゃんと見ておりませんでした。すいません・・。 newされても次のMovieClipの順番が回ってくるまでは内部処理は行われないんですね。 原因が分かってスッキリしました。有難う御座います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |