概要 | 複製したMCの中の変数の取り扱い |
---|---|
投稿者 | Parafla Quality |
状態 | |
カテゴリー | ParaFla! |
投稿日 | 2009-02-17 (火) 23:12:16 |
バージョン | 1.37 |
どうしてもわからないので質問させていただきます。
MC_Aの中に変数Bがあるとします。 変数BはMC_Aの中でのみ演算されるようになっています。 これを複製した場合、スコープはどう書けばいいんでしょうか。 それとも他に何が原因なのでしょうか。条件式を当てはめたいのですがうまくいきません。条件式を当てはめない場合は全て正常に機能します。
_root.Bのように取り扱うことはできませんよね?複製されるので_root上にも大量の変数の処理をしなければならなくなると思いますが。このへんよくわかりません。スプライトはそれ自体が一つのクラスなので、クラス内での変数の扱い方ってことになりますよね・・・。
Cに当たったときに変数Bを減算して、Bが0になったときに複製したMC_A(ここではeval("_root.A" + count)になりますね)を順番に消去していくという記述になっています。←これができればどんなやり方でもいいです。
■模式図
〜MC_A内部〜
if (this.hitTest(C)){
変数B --;
if(eval("this" + count).変数B == 0){ /*←ここがどうしてもうまくいかない。ここをeval("this." にしても駄目、eval("_root.A"にしても駄目。*/
this.removeMovieClip?(); } }
〜複製させるスクリプト内〜
(中略) duplicateMovieClip?("_root.hoge" + "hoge" + _root.count, _root.count+1000 );
たとえば、変数Bを_root.Bとして処理させると、MC_Aを複製した場合に、一個の変数のみで処理されてしまいますよね。 考えの及ぶ限り、他にもいろいろ試してみましたが、どうにもこうにもうまくいきませんでした。