ムービークリップオブジェクトをダイナミック(動的)に参照することができます。
番号づけられた複数のインスタンス全てに操作したりするのに便利です。
プロパティを参照する場合には、
オブジェクト名.プロパティ名
と記述しますが、配列アクセス演算子「[ ]」を使って、
オブジェクト名["プロパティ名"]
と記述することができます。配列アクセス演算子「[ ]」を使うメリットはプロパティ名を表す文字列式を使うことができるという点です。
ムービークリップインスタンスは、その親のプロパティとして保管されています。したがって、配列アクセス演算子を使った文字列式による動的なインスタンスの参照が可能となります。
// メインタイムラインにおかれたclip0, clip1, clip2, clip3の座標を指定
for (var i=0; i<4; i++) {
_root["clip"+i]._x=i*50;
_root["clip"+i]._y=i*50;
}
eval()関数は、文字列を識別子に変換する関数です。ほとんどの場合、配列アクセス演算子「[ ]」による記述におきかえることができます。
eval(文字列)
// メインタイムラインにおかれたclip0, clip1, clip2, clip3の座標を指定
for (var i=0; i<4; i++) {
eval("_root.clip"+i)._x=i*50;
eval("_root.clip"+i)._y=i*50;
}
Programming Laboratory (Shio seminar)