ターゲットとは?

"なにを"にあたるのがターゲット

"いつ" "なにを" "どうする"の中で、"なにを"にあたるのがターゲットです。ターゲットとは、命令の対象となるオブジェクトを意味します。

たとえば、『ボタンAが押されたらムービークリップBのフレームを再生する』場合は、ムービークリップBがターゲットになります。

ターゲットパスとインスタンス名

ターゲットパス

ターゲットパスとは、ターゲットの場所を特定するためのパスになります。例えば先ほどの場合、ボタンAからムービークリップBに対して命令を出すわけですが、そのためには、ターゲットであるムービークリップBの場所を特定する必要があります。このような場合にターゲットの場所を示すパスを、ターゲットパスと言います。

インスタンス名

またこの場合、ターゲットパス内にムービークリップBのインスタンス名が必要になります。そのためには、ムービークリップBにインスタンス名をつける必要があります。

このようにインスタンスをターゲットにする場合は、必ずインスタンス名が必要になります。

仮にムービークリップBのインスタンス名を"b_mc"とした場合、ボタンAに記述するスクリプトは下記になります。

on(release) {
_root.b_mc.play();
}

絶対パスと相対パス

この時の_root.b_mcがターゲットパスです。_rootは最上位のメインタイムラインを意味します。このように最上位からみたパスのことを絶対パスと言います。

それに対しボタンAからみたパスのことを相対パスと言います。仮に両方とも、同じフレーム内に配置されていた場合、相対パスで記述すると下記のようになります。

on(release) {
this.b_mc.play();
}

少々長くなりがちですが、スクリプトを見れば位置関係が分かることや、間違いがおきにくいという点から本編では絶対パスで記述をしていきます。

シンボル名とインスタンス名

シンボル名とインスタンス名は、一見ややこしく感じるかもしれませんが、シンボル名は人間が識別するためのものであり、ActionScriptには一切関係がありません。

それに対しインスタンス名はActionScriptで指定するためのものです。インスタンス名はActionScriptから指定できるように以下のルールに基づいて命名します。

インスタンス名の命名ルール

  • 全角は不可
  • インスタンス名に使用できる文字は、半角英数とアンダーバーのみ
  • インスタンス名の最初の文字に数字はつけられない
  • ボタンには_btn ムービークリップには_mcの接尾辞をつける(推奨)