SWF 3 のアクションモデルは、 11 個の命令から成ります。
命令 | 参照 | 説明 |
Play | ActionPlay | 現在のフレームの再生を開始 |
Stop | ActionStop | 現在のフレームの再生を停止 |
NextFrame | ActionNextFrame | 次のフレームに移動 |
PreviousFrame | ActionPreviousFrame | 前のフレームに移動 |
GotoFrame | ActionGotoFrame | 指定されたフレームに移動 |
GotoLabel | ActionGoToLabel | 指定されたラベルの付いたフレームに移動 |
WaitForFrame | ActionWaitForFrame | 指定されたフレームで停止 |
GetURL | ActionGetURL | 指定された URL の取得 |
StopSounds | ActionStopSounds | 再生中のサウンドを全て停止 |
ToggleQuality | ActionToggleQuality | 表示品質を High と Low で切り替え |
SetTarget | ActionSetTarget | 次のアクションのコンテキストを名前の付いたオブジェクトに切り替え |
上のリストのアクションは、ボタンの状態遷移時もしくは SWF 3 アクションによって起動されます。 アクションはその場で実行されるのではなく、後で実行するためにリストに追加されていきます。 このリストは、 ShowFrame タグかボタンの状態が変わった時に実行されます。 この時、リストの中のアクションから他のアクションを呼び出すことができます。 アクションは、空になるまで実行されます。 デフォルトでは、タイムラインアクションの Stop 、 Play 、 GoToFrame は、それが含まれるファイル自身に適用されます。 しかし、 SetTarget アクションは、 Flash ユーザインターフェイスの中の Tell ターゲット (Tell Target) を呼び、常にアクションコマンドは他のファイルかスプライトに送られます。
ここで挙げられたアクションは SWF 3 で使用できます。
DoAction は、現在のフレームが完了した時に Flash Player に対してアクションのリストを実行するように指示します。 アクションは DoAction タグがフレームのどこに出現したかということに関係なく、 ShowFrame タグが出現した時に実行されます。 SWF 9 以降では、 FileAttributes タグの ActionScript3 フィールドに 1 がセットされている時、 DoAction タグの内容は無視されます。
フィールド | 型 | コメント |
Header | RECORDHEADER | タグタイプ = 12 |
Actions | ACTIONRECORD [0 個以上] | 実行するアクションのリスト (次の ActionRecord 参照) |
ActionEndFlag | UI8 = 0 | 常に 0 |
ACTIONRECORD は、 ACTIONRECORDHEADER と、それに続くアクションのデータのかたまりから成ります。 ACTIONRECORDHEADER は ActionCode を使って実行するアクションを指定します。 アクションがヘッダの後にデータを必要とする場合、 ActionCode の上位ビットは 1 にセットされます。これは ActionCode が、後に続く 16 bit の長さのアクションデータのかたまりを必要とすることを示します。 注:多くのアクションで Length 以降のデータのかたまりは指定されません。その場合、命令は 1 バイトの種類のデータのみで構成されます。
フィールド | 型 | コメント |
ActionCode | UI8 | アクションコード |
Length | If code >= 0x80, UI16 | ActionCode と Length フィールドを含まない、 ACTIONRECORDHEADER のバイト数 |
ActionGotoFrame は、 Flash Player を現在のファイルの指定されたフレームに移動させる命令です。
フィールド | 型 | コメント |
ActionGotoFrame | ACTIONRECORDHEADER | ActionCode = 0x81 Length は常に 2 |
Frame | UI16 | フレームインデックス |
ActionGetURL は、 Flash Player に UrlString で指定された URL からデータを取得させる命令です。 URL は色んなタイプにすることができます。HTML ファイル、画像または他の SWF ファイル等です。 ファイルがブラウザ上で実行されている場合、 URL から取得したデータは TargetString で指定されるフレームに表示されます。 "_level0" と "_level1" は特別なターゲット名で、他の SWF ファイルを level 0 と 1 にロードするために使用されます。
フィールド | 型 | コメント |
ActionGetURL | ACTIONRECORDHEADER | ActionCode = 0x83 |
UrlString | STRING | ターゲット URL 文字列 |
TargetString | STRING | ターゲット文字列 |
フィールド | 型 | コメント |