フレーム移動用メソッドは4つ
ムービークリップ定義済みメソッドには、フレーム移動を行う4つのメソッドが用意されています。
現在のフレームを基準にして移動する MovieClip.prevFrame と MovieClip.nextFrame、指定したフレームに移動する
MovieClip.gotoAndPlay、MovieClip.gotoAndStop の4つです。
前後のフレームに移動して停止
MovieClip.prevFrame と MovieClip.nextFrame は、現在のフレームを基準として移動を行うメソッドです。
名前のとおり、MovieClip.prevFrame はひとつ前のフレームに、MovieClip.nextFrame
は次のフレームに移動します。ともに移動後に再生ヘッドを停止します。
下のサンプルムービー1は5フレームからなり、各フレームにフレーム番号の静止テキストを配置しています。
[ prevFrame() ] ボタンでひとつ前のフレームに移動、[ nextFrame() ] ボタンで次のフレームに移動して停止します。2つのボタンは
_root に配置しています。
|
|
|
●[ prevFrame() ] ボタンのボタンアクション
on (release) {
this.prevFrame();
}
●[ nextFrame() ] ボタンのボタンアクション
on (release) {
this.nextFrame();
} |
| サンプルムービー1 |
|
●ソースファイル:nextprev1.zip(8.35
KB) |
指定したフレームに移動して再生/停止
フレームを指定して移動するには、MovieClip.gotoAndPlay と MovieClip.gotoAndStop メソッドを使用します。
引数にはフレーム番号(数値)またはフレームラベル名(文字列)を指定します。
どういうわけか『ActionScript辞書』では、これらのメソッドの引数はフレーム番号のみとされていますが、フレームラベルでも問題なく機能します。むしろフレームの移動には、フレーム番号の使用を止め、フレームラベルを使用することをお勧めします。
フレーム番号を指定すると、ムービー製作時やデバッグ時のフレームの挿入・削除で目的のフレーム番号が変わり、そのたびに引数を指定し直さなければなりません。フレームラベルは変化しませんので、このような手間が発生しません。ですから、特別な理由がなければ、フレームラベルを使いましょう。引数には、変数を使用することもできます。
指定したフレームに移動後、MovieClip.gotoAndPlay は再生、MovieClip.gotoAndStop
は停止します。
どちらのメソッドも同名のアクションとは異なり、引数にシーンを指定することはできません。まちがえる人が多いようですので、気をつけましょう。
なお、現在のフレーム番号を格納したムービークリップ定義済みプロパティ MovieClip._currentframe
とMovieClip.gotoAndStop メソッドを使用して、MovieClip.gotoAndStop( this._currentframe
- 1)、MovieClip.gotoAndStop( this._currentframe + 1) と記述することによって、MovieClip.prevFrame、MovieClip.nextFrameと同じ処理を実現できます。
下のサンプルムービー2はMovieClip.gotoAndPlay用、サンプルムービー3は MovieClip.gotoAndStop用のサンプルムービーです。5フレームからなり、各フレームにフレーム番号の静止テキストを配置しています。テキスト入力(変数名:frame)やボタンも_root
に配置しています。
[ ( 3 ) ] ボタンはフレーム番号(3)、[ ( "start" ) ] ボタンはフレームラベル("start")、[
( frame) ] ボタンは変数(frame)を指定した例です。ボタンをクリックすると、指定のフレームに移動します。[ ( frame)
] ボタンをクリックする場合は、先に変数frameに値を代入しておく必要があります。右上の入力欄(変数名:frame)に、1〜5または「start」と入力してください。
サンプルムービー2は移動後に再生、サンプルムービー3は移動後に停止します。
| サンプルムービー2
●ソースファイル:gotoandplay1.zip(9.17
KB) |
|
●1フレームのフレームアクション
this.stop();
●[ ( 3 ) ] ボタンのボタンアクション
on (release) {
this.gotoAndPlay( 3 );
}
●[ ( "start" ) ] ボタンのボタンアクション
on (release) {
this.gotoAndPlay( "start" );
}
●[ ( frame) ] ボタンのボタンアクション
on (release) {
this.gotoAndPlay( frame );
} |
| サンプルムービー3
●ソースファイル:gotoandstop1.zip(9.18
KB) |
|
●1フレームのフレームアクション
this.stop();
●[ ( 3 ) ] ボタンのボタンアクション
on (release) {
this.gotoAndStop( 3 );
}
●[ ( "start" ) ] ボタンのボタンアクション
on (release) {
this.gotoAndStop( "start" );
}
●[ ( frame) ] ボタンのボタンアクション
on (release) {
this.gotoAndStop( frame );
} |
・関連項目
フレーム移動用メソッド使用時の注意点
フレームラベル
|