ActionScript でオブジェクトを使用するには、あらかじめそのオブジェクトが存在している必要があります。オブジェクト作成の一環として、変数の宣言がありますが、変数の宣言により作成されるのは、コンピューターメモリ内の空き領域のみです。変数には、使用または操作する前に必ず実際の値を割り当てます。それには、オブジェクトを作成し、これを変数に格納します。オブジェクト作成のプロセスは、オブジェクトのインスタンス化と呼ばれます。要するに、オブジェクトの作成とは、特定のクラスのインスタンスを作成することです。
オブジェクトのインスタンスを作成する場合、ActionScript をまったく使用しない簡単な方法もあります。Flash Professional では、ムービークリップシンボル、ボタンシンボル、またはテキストフィールドをステージに配置し、インスタンス名を割り当てます。Flash Professional は自動的に変数をそのインスタンス名で宣言し、オブジェクトインスタンスを作成し、そのオブジェクトを変数に格納します。同様に、Flex では、MXML タグをコーディングするか、Flash Builder デザインモードのエディターにコンポーネントを配置することで、MXML コンポーネントを作成できます。そのコンポーネントに ID を割り当てた場合、その ID は、コンポーネントのインスタンスを格納する ActionScript の変数名になります。
ただし、オブジェクトを視認しながら作成する必要がない場合もあります。また、不可視のオブジェクトは、視認しながら作成することができません。ActionScript のみを使用して、オブジェクトインスタンスを作成する方法もいくつかあります。
まず、ActionScript のデータ型を何種類か使用する場合、文字式、すなわち ActionScript コードに直接記述される値を使用して、インスタンスを作成できます。次に例を示します。
-
Literal 数値(数字を直接入力):
var someNumber:Number = 17.239;
var someNegativeInteger:int = -53;
var someUint:uint = 22;
-
Literal String 値(テキストを二重引用符で囲む):
var firstName:String = "George";
var soliloquy:String = "To be or not to be, that is the question...";
-
Literal Boolean 値(リテラル値
true
または
false
を使用):
var niceWeather:Boolean = true;
var playingOutside:Boolean = false;
-
Literal Array 値(値のコンマ区切りリストを角括弧で囲む):
var seasons:Array = ["spring", "summer", "autumn", "winter"];
-
Literal XML 値(XML を直接入力):
var employee:XML = <employee>
<firstName>Harold</firstName>
<lastName>Webster</lastName>
</employee>;
ActionScript は、Array、RegExp、Object、Function の各データ型にも文字式を定義します。
任意のデータ型のインスタンスを作成する最も一般的な方法では、次のように、
new
演算子をクラス名と一緒に使用します。
var raceCar:MovieClip = new MovieClip();
var birthday:Date = new Date(2006, 7, 9);
new
演算子を使用したオブジェクトの作成は、多くの場合、「クラスのコンストラクターの呼び出し」と呼ばれます。コンストラクターは、クラスのインスタンスの作成プロセスの一環として呼び出される特別なメソッドです。インスタンスをこの方法で作成する場合、クラス名の後に括弧を配置します。括弧内にパラメーター値を指定することもあります。この 2 つの作業はメソッドを呼び出す場合にも行います。
なお、リテラル値を指定してインスタンスを作成できるデータ型についても、
new
演算子を使用してオブジェクトインスタンスを作成することもできます。例えば、次の 2 行のコードは、完全に同じ操作を行います。
var someNumber:Number = 6.33;
var someNumber:Number = new Number(6.33);
new
ClassName
()
を使用したオブジェクトの作成方法に慣れておく必要があります。多くの ActionScript データ型には視覚表現がありません。したがって、それらのデータ型のインスタンスは、Flash Professional のステージや Flash Builder の MXML エディターのデザインモードにアイテムを配置することによっては作成できません。これらのデータ型のインスタンスを作成するには、ActionScript で
new
演算子を使用するしかありません。
Adobe Flash Professional
Flash Professional では、ライブラリで定義されているが、ステージには配置されていないムービークリップシンボルのインスタンスの作成にも、
new
演算子を使用できます。