« メソッドと関数の定義 | メイン | 関数定義 »

メソッド定義

メソッドはfunction文を使って定義します。引数はなくてもかまいませんが()は必要です。

function メソッド名 (引数1, 引数2, ...) {
// 実行するスクリプト
}


次のスクリプトをメインのタイムラインのフレーム1のフレームアクションに書けば、showPhoto()メソッドはタイムラインのどこからでも利用できるメソッドになります。


メインのタイムラインのフレームアクション:
//photoインスタンスで表示するフレームをラベル番号で指定する
function showPhoto(no) {
photolist = ["cat", "dog", "fish"];
if ((no >= 0) && (no < photolist.length)) {
photo = photolist[no];
trace(photo); // 選んだラベル名を出力
}
}

そして、myMCインスタンスをクリックしてshowPhoto()メソッドを実行するには次のようにします。

メインのタイムラインのフレームアクション:
myMC.onPress = function(){
showPhoto(2); //"fish"
}

メインのタイムラインではなく、ムービークリップのタイムラインからこの関数を実行するには_root.showPhoto()のようにパスを使って参照します。
なお、showPhoto()がmyMCインスタンスだけのものならば、次のように直接インスタンスに設定できます。

//インスタンスにメソッドを設定する
myMC.showPhoto = function(no){
photolist = ["cat", "dog", "fish"];
if ((no >= 0) && (no < photolist.length)) {
photo = photolist[no];
trace(photo); // 選んだラベル名を出力
}
}

この場合、showPhoto()を実行する際にはthis.showPhoto(2)またはmyMC.showPhoto(2)のように参照します。

//クリックで実行する
myMC.onPress = function(){
this.showPhoto(2);
}

投稿者 oshige : 2005年2月18日 17:39