- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:actionscript 2.0 配列型変数をグローバル変数として扱いたい。)
ActionScript 2.0で配列型変数をグローバル変数として扱う方法
このQ&Aのポイント
- ActionScript 2.0で配列型変数をグローバル変数として扱う方法について教えてください。
- ムービークリップ内でグローバルな値を共有するため、_global.hoge = _name(ムービーのインスタンス名)という記述をしました。しかし、複数のムービークリップが存在する場合、上書きされてしまいます。
- 配列を使って変数名の重複を回避しようと試みましたが、_global.hoge[_name] = _nameという記述ではグローバル変数として扱われず、値を取得することができません。どのようにすれば配列変数をグローバル変数として扱えるでしょうか?
- みんなの回答 (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); } のみを 他の階層タイムラインに移動させてもちゃんと取得できましたよ。
お礼
回答ありがとうございます。 _nameがどうやらインスタンス名に数字を入れていても 文字列の型としてしか取り出せないらしく _global.hoge["_name"]と連想配列扱いにするみたいでした。 それが原因で共用できなかったみたいですね。