AS3.0でグローバルに参照できる変数

参考:ActionScript 3.0でAS2のような_global変数を使う方法
クロックメイカー様のポストですし、もうこれで答えのような気がしますが、少し使い所を考えてみましょうか。

一つの変数に入れるのであれば、こんな感じでまるでDBのようなクラスを作っておくと便利です。
大体こういう一覧はExcelで来るので、そのまま横の列に式の体裁をした文字列を作る式を入れちゃえば、Excelからシームレスにコンバートですよ!
セルに入れるのは、具体的にはこんな式です。しかもお金無いのでOpenOfficeですが。

使うときは「AppIconDefine」というのが、もう、オブジェクトを内包したグローバルな配列なのでどっからでも参照してしまいましょう。
上記の例では、typeの文字列は各携帯キャリアを表していて、「ドコモ,au,SB」とすると「111」だと全部のキャリアで使うアプリになります。
この配列を全部回して、「typeの一番最初が1なら使うやつだから」という感じで新規にドコモのアプリだけのローカルの配列を作っておきます。
配列を作るといっても、アイコンという実体のあるmcがあるのでmcの配列をつくり、そのときに各mcにidを埋め込んでいると楽です。MouseEventが動いた時などにidを送出さえすれば色々持ちわまれます。idとAppIconDefineの添字の関係を使えば「label」は直接

namePlateText.text = AppIconDefine[id-1].label

とやってしまえばいいのです。

mcを配列に入れるときというのは、当然そのmcにとっての親にがやるのが普通だとは思うが、大量になるであろうmcの中にわざわざ「var id:uint;」というダサイコードをすべてのmcにいれるというダサイことはしたくないものです。型を宣言すれば外側からでもプロパティを新規追加できます。
For文の中で

とやればちゃんとmc内の変数としてコンパイルエラーなく使えるようになります。

スポンサーリンク
  • このエントリーをはてなブックマークに追加

水蕗をフォローする

スポンサーリンク