• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:actionscript 2.0 配列型変数をグローバル変数として扱いたい。)

ActionScript 2.0で配列型変数をグローバル変数として扱う方法

このQ&Aのポイント
  • ActionScript 2.0で配列型変数をグローバル変数として扱う方法について教えてください。
  • ムービークリップ内でグローバルな値を共有するため、_global.hoge = _name(ムービーのインスタンス名)という記述をしました。しかし、複数のムービークリップが存在する場合、上書きされてしまいます。
  • 配列を使って変数名の重複を回避しようと試みましたが、_global.hoge[_name] = _nameという記述ではグローバル変数として扱われず、値を取得することができません。どのようにすれば配列変数をグローバル変数として扱えるでしょうか?

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

普通にできるようですが。 例↓ ------------------------------------------------- var i:Number; // 空のムービークリップを9個ほど作ってみる for (i=0; i<=9; i++) { var my_mc:MovieClip = this.createEmptyMovieClip("_mc"+i, i); } // グローバルな配列を作成 _global.hoge = new Array(); // グローバルな配列の要素に空のムービークリップへの参照を格納 for (i=0; i<=9; i++) { _global.hoge[i] = this["_mc"+i]; } // 配列の各要素とそのインスタンス名を出力してみる for (i=0; i<=9; i++) { trace(_global.hoge[i]); trace(_global.hoge[i]._name); } ------------------------------------------------- 最後の for (i=0; i<=9; i++) { trace(_global.hoge[i]); trace(_global.hoge[i]._name); } のみを 他の階層タイムラインに移動させてもちゃんと取得できましたよ。

yuzuru0024
質問者

お礼

回答ありがとうございます。 _nameがどうやらインスタンス名に数字を入れていても 文字列の型としてしか取り出せないらしく _global.hoge["_name"]と連想配列扱いにするみたいでした。 それが原因で共用できなかったみたいですね。

関連するQ&A