ムービークリップやテキストフィールドなど、すべてのオブジェクト(インスタンス)は、「_x」「_y」などの共通プロパティや、「_alpha」「text」などの固有のプロパティを持っている。
これに新たなプロパティを持たせたいときは、ActionScriptで、オブジェクト(インスタンス)に対して、「.オリジナルプロパティ名」とするだけでよい。
//MC「ball」に「ayabin」というプロパティを持たせ、「ayabin_test」をセットする
ball.ayabin="ayabin_test";
正確には、プロパティではなく、新たな変数を持たせていると言ったほうがいいかもしれない。
「true」や「false」といったフラグ的な形での使用が考えられる。
とりあえず、サンプルを作ってみた。
【製作過程】
ライブラリに、基準点を真ん中にしたMC「ball」(20x20)を用意。リンケージ設定。識別子は「ball」。
//MC「ball」を横に10個並べ、オリジナルプロパティ「ayabin」に「"ayabin"+i」をセットする
for(var i:Number=0;i<10;i++){
_root.attachMovie("ball","ball"+i,i);
_root["ball"+i]._x=i*30+10;
_root["ball"+i]._y=10;
_root["ball"+i].ayabin="ayabin"+i;
}
//トレースで確認
for(var i:Number=0;i<10;i++){
trace(_root["ball"+i].ayabin);
}
トレースの結果。
ayabin0
ayabin1
ayabin2
ayabin3
ayabin4
ayabin5
ayabin6
ayabin7
ayabin8
ayabin9
コメントする