Action Scriptの命令文をアクションといいます。アクションは、フレーム、ボタン、ムービークリップに記述することができます。記述する場所によって、以下の3種類のアクションに分けられます。
記述する際には、記述したいオブジェクトを選択して、「アクション」パネルを開きます。
アクションパネルは大きく分けて3つの部分からなります。

フレームアクションはタイムラインのキーフレームに記述します。再生ヘッドがキーフレームに到達したときに実行される動作を記述します。フレームが再生されると自動的に実行されるので、フレームの再生がイベントとして扱われるため、特定のイベントハンドラはありません。
Action Script専用のレイヤーを作り、そのレイヤーにフレームアクションを記述すると、後の管理が楽になります。
また、Action Scriptが記述されているキーフレームには、タイムライン上に「a」の文字が表示されます。
stop();ムービーを再生してみましょう。Action Scriptを設定したキーフレームで再生が停止します。
ムービークリップインスタンスにonClipEventイベントハンドラを記述します。一般的な記述は以下のようになります。後述のonイベントハンドラを使用することもできます。
onClipEvent(イベント名) {実行する処理}
以下のイベントがあります。
| load | ムービークリップインスタンスがロードされたとき |
|---|---|
| unload | ムービークリップインスタンスがアンロードされたとき |
| enterFrame | フレームが再生されたとき(フレームが停止していても) |
| mouseMove | マウスが移動したとき |
|---|---|
| mouseDown | ムービー上でマウスの左ボタンが押されたとき |
| mouseUp | ムービー上でマウスの左ボタンを離されたとき |
| keyDown | キーボードのキーが押されたとき |
| keyUp | キーボードのキーが離されたとき |
| data | loadVariables()またはloadMovie()で読み込まれたデータの受信を完了したとき |
onClipEvent(enterFrame) {
this._rotation+=20;
}
「enterFrame」のイベントが発生した時に、インスタンスのプロパティ「_rotation」の値を20増加します。
このときのthisはムービークリップのインスタンスを示しています。
ムービーを再生してみましょう。ムービークリップが回転します。ボタンインスタンスにイベントハンドラを記述します。一般的な記述は以下のようになります。
on (イベント名) {実行する処理}
以下のイベントがあります。
| press | ボタン上でマウスの左ボタンが押されたとき |
|---|---|
| release | ボタン上でマウスの左ボタンが離されたとき |
| relaseOutside | ボタン上でマウスの左ボタンが押されたまま、ボタン外でマウスの左ボタンが離されたとき |
| rollOver | ボタン上にマウスポインタが乗ったとき |
| rollOut | ボタン上からマウスポインタが外れたとき |
| dragOver | ボタン上でマウスの左ボタンを押したまま、ボタンの外に出て再び戻ったとき |
| dragOut | ボタン上でマウスの左ボタンを押したまま、ボタンの外に出たとき |
| keyPress | キーボードで指定されたキーが押されたとき |
on(release) {
this.play();
}
「release」イベントが発生した時に、 ムービーの再生を再開します。
このときのthisはボタンではなく、ボタンを配置したオブジェクトを表しています。ムービークリップの場合と異なるので注意してください。
準備として、動きのあるムービークリップシンボルを作成し、インスタンス名にtest_mcとつけます(名前は何でも良い)。また、このムービークリップシンボルの最初のフレームに 「stop();」を記述し、再生しないようにしておく。
1.〜5.までは上記と同様。
本文に「test_mc.play();」を入力します。
on(release) {
test_mc.play();
}
「release」イベントが発生した時に、ムービークリップシンボル「test_mc」の再生を始めます。
ボタンアクションのイベントの種類を変更して一通り試してみよ。
Programming Laboratory (Shio seminar)