変 数 [Edit]

変数とは

スクリプトの処理結果やユーザーの文字入力などを、ムービーで活用するためには、名前を付けた器を用意し、それらのデータを格納しておく必要があります。
この受け皿となるデータ(情報)の入れ物のことを変数といいます。
また、変数につけられた名前を変数名、変数に格納されたデータをといいます。

変数名は英数字と記号を組み合わせてつけます。ただし1文字目に数字を使うことはできません。また、Flash が使用するキーワード(予約語)を変数名にすることもできません。
さまざまな理由から、英数字およびアンダースコア(_)のみを使用することをお勧めします。英数字、記号とは、半角(1バイト)のものを指しています。全角の英数字、記号は、プログラムの世界では2バイト文字とされ、英数字として認められていません。
変数名は、同一階層内で、ユニーク(他と重ならない)である必要があります。
ActionScript では、ほとんどの場合、英字の大文字と小文字を区別しません。' var1 ' と ' VAR1 ' は同じものと判断されます。また、ムービークリップのインスタンス名と同じ名前をつけることもできませんので、注意してください。


変数の管理空間

Flashの変数は、ムービークリップをはじめとするオブジェクトごとに持つことができます。これは、ムービークリップやオブジェクトごとに、同じ名前の変数を持てるということを表しています。したがって、変数を操作する場合は、常にどのムービークリップの変数か、またはどのムービークリップのどのオブジェクトの変数かを意識しておく必要があります。
スクリプトを記述する場所と、操作する変数の場所が異なる場合は、変数名の前に、ターゲットパス(「ターゲットパス」で解説)を指定します。


変数の代入

変数に値をセットすることを代入といいます。
Flashの変数は、値を代入することによって作成されます。
変数という名前ですが、代入できるのは数ばかりではありません。数、文字、ムービークリップなど、ActionScript で使用可能なデータ型(「データ型」で解説)は、すべて代入することができます。
変数はムービー実行中に何度でも代入することができます。新しい値は、古い値を上書きして消去します。
実際の代入は、以下の書式で行います。ここで使用される ' = ' は、数学のイコールではなく、代入演算子(「演算子」で解説)です。数学のイコールと同じ意味を持つ等価演算子は、Flashでは ' == ' です。


変数の参照

変数の値にアクセスすることを参照といいます。変数は代入演算子(=)の左に置かれた場合を除き、変数名を記述すると、値として取り扱われます。変数を参照するには、変数名をそのまま式の中で記述します。


グローバル変数とローカル変数

この項は、少しむずかしいかもしれません。分からなければ読み飛ばしてもかまいません。必要なときに、読み返してください。

ムービークリップやオブジェクトの変数は、ターゲットパスを指定することにより、どの階層からも、どのオブジェクトからもアクセスすることができます。このような変数をグローバル変数といいます。
これに対し、他からはアクセスできない変数のことを、ローカル変数といいます。

Flashのローカル変数は、カスタム関数を定義する function の中だけで利用できます。
ローカル変数を利用するには、function 内で、下図のように「 ' var ' + スペース + 変数名;」と記述します。これを宣言文といいます。「これから、この変数をローカル変数として使うよ」とシステムに宣言する命令文です。なお、宣言と同時に、値を代入する「 ' var ' + スペース + 変数名 = 値; 」 という記述も可能です。


変数の表示・入力用パーツ

Flash には、エンドユーザーに直接、変数を見せたり、代入させるためのパーツが用意されています。
表示用のパーツがテキストオプションのダイナミックテキスト、入力用のパーツがテキストオプションのテキスト入力です。
これらのパーツをステージ上に配置すると、テキストを配置したムービークリップインスタンスの変数として機能します。配置前に同名の変数が存在する場合はその値を表示します。

・関連項目

データ型
演算子
ターゲットパス

その他の記事