Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > 関数とメソッド > 関数とメソッドについて > メソッドと関数の種類について | |||
クラスに属する関数は、そのクラスのメソッドと呼ばれます。アプリケーションで使用できる関数には、ビルトイン関数、ユーザー定義の名前付き関数、匿名関数、コールバック関数、コンストラクタ関数、関数リテラルなどのさまざまな種類があります。以降のセクションでは、これらの関数を定義する方法について説明します。
ActionScript クラスファイル内に関数を記述することもできます。これらの関数は、スクリプトでメソッドとして使用します。次の例の Person クラスには、コンストラクタメソッド、クラスメソッド、インスタンスメソッド、およびアクセサメソッド (getter と setter) があります。このコードサンプル内のコメントは、コード内でこれらのメソッドが出現する場所を示しています。
|
メモ |
|
次のようなクラスファイルを記述する方法については、クラスを参照してください。 |
class Person {
public static var numPeople:Number = 0;
// インスタンスメンバー
private var _speed:Number;
// コンストラクタ
public function Person(speed:Number) {
Person.numPeople++;
this._speed = speed;
}
// 静的メソッド
public static function getPeople():Number {
return Person.numPeople;
}
// インスタンスメソッド
public function walk(speed:Number):Void {
this._speed = speed;
}
public function run():Void {
this._speed *= 2;
}
public function rest():Void {
this._speed = 0;
}
// getter/setter (アクセサメソッド)
public function get speed():Number {
return this._speed;
}
}
上記のコードサンプルのようなメソッドを記述する詳細手順については、クラスを参照してください。コードで使用するメソッドが、ActionScript 言語のビルトインクラスに属している場合もあります。たとえば、MovieClip および Math は、アプリケーションで使用できる最上位クラスです。このようなクラスのメソッドをコードで使用する場合、これらは (上記のコードサンプルと同様の) ビルトインクラスに記述された関数です。その他、自分で記述したカスタムクラスのメソッドを使用することもできます。
クラスに属さない関数は、"トップレベル関数" ("定義済み関数"、"ビルトイン関数") と呼ばれ、コンストラクタなしで呼び出すことができます。ActionScript 言語の最上位に位置するビルトイン関数としては、trace() と setInterval() などがあります。
トップレベル関数の呼び出しをコードに追加するには、[アクション] パネルのスクリプトペインで、単一のコード行を追加します。たとえば、次のように入力します。
trace("my message");
この単一のコード行で SWF ファイルをテストすると、トップレベル関数 trace() が呼び出され、[出力] パネルにテキストが表示されます。
注意 : メソッドをプロパティに割り当てる場合は、関数への参照を渡すので、次のようにメソッド名の後の括弧を省略します。
my_mc.myMethod = aFunction;
ただし、コード内でメソッドを呼び出す際は、メソッド名の後のカッコが必要になります。
my_mc.myMethod();
|
メモ |
|
トップレベル関数の詳細については、ビルトイン関数とトップレベル関数についてを参照してください。 |
関数の定義は、これ以外にもさまざまな方法で行うことができます。各種類の関数の詳細については、次のセクションを参照してください。
関数とメソッドの記述方法と使用方法については、次の関連セクションを参照してください。関数の使用方法については、Flash での関数の使用を参照してください。メソッドの使用方法については、メソッドについてを参照してください。
|
メモ |
|
スクリプトアシストを使用してコードを記述する方法については、『Flash ユーザーガイド』を参照してください。 |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000748.html