Action Scriptでは変数に有効範囲があり、有効範囲によって以下の種類に分けられます。 有効範囲のことをスコープ(scope)と呼ぶこともあります。
メインタイムラインまたはムービークリップ内のタイムラインにおかれた変数をタイムライン変数またはムービークリップ変数と呼びます。
var test="Main"; trace("Main:"+test);
var test="MovieClip"; trace("MovieClip:"+test);
_globalオブジェクトは、どのタイムラインで定義されていても、どのタイムラインからでも代入したり参照したりすることができます。
_global.test="Hello, World!";
trace(test);
グローバル変数と同名のタイムライン変数がある場合にはタイムライン変数が優先されます。
ドットシンタックスとは、インスタンス名やプロパティ名やメソッド名などを「.」(ドット) で連結して記述することです。
ムービークリップは階層構造をとるので、インスタンス名を「.」(ドット)で重ねて いくことで、インスタンス中のさらにインスタンス中の…とたどって記述します。これを ターゲットパスといいます。変数やプロパティの参照時、メソッドの実行時などに使用します。
メインタイムラインを参照するときには、_rootプロパティを使用します。_rootから 記述したターゲットパスを絶対パスといい、それ用いた参照を絶対参照といいます。
_root.変数名
絶対参照で記述した場合には、メインムービーを他のムービーの中で使用する場合に は、_rootが指すタイムラインが変わってしまうので、再利用する ことを考えると相対参照で記述する方が望ましいとされています。
_rootプロパティから始まらないパスは相対パスといい、それを 用いた参照を相対参照といいます。自分自身を参照する場合には、thisプロパティを 使用します。通常、thisは省略することができます。
一つ上の階層を参照するには、_parentプロパティを使用します。
_parent.変数名
メインタイムラインの2フレーム目に以下のフレームアクションを追加します。
trace(test_mc.test);
Programming Laboratory (Shio seminar)