SWF 3 アクションモデル

SWF 3 のアクションモデルは、 11 個の命令から成ります。

命令参照説明
PlayActionPlay現在のフレームの再生を開始
StopActionStop現在のフレームの再生を停止
NextFrameActionNextFrame次のフレームに移動
PreviousFrameActionPreviousFrame前のフレームに移動
GotoFrameActionGotoFrame指定されたフレームに移動
GotoLabelActionGoToLabel指定されたラベルの付いたフレームに移動
WaitForFrameActionWaitForFrame指定されたフレームで停止
GetURLActionGetURL指定された URL の取得
StopSoundsActionStopSounds再生中のサウンドを全て停止
ToggleQualityActionToggleQuality表示品質を High と Low で切り替え
SetTargetActionSetTarget次のアクションのコンテキストを名前の付いたオブジェクトに切り替え

上のリストのアクションは、ボタンの状態遷移時もしくは SWF 3 アクションによって起動されます。 アクションはその場で実行されるのではなく、後で実行するためにリストに追加されていきます。 このリストは、 ShowFrame タグかボタンの状態が変わった時に実行されます。 この時、リストの中のアクションから他のアクションを呼び出すことができます。 アクションは、空になるまで実行されます。 デフォルトでは、タイムラインアクションの Stop 、 Play 、 GoToFrame は、それが含まれるファイル自身に適用されます。 しかし、 SetTarget アクションは、 Flash ユーザインターフェイスの中の Tell ターゲット (Tell Target) を呼び、常にアクションコマンドは他のファイルかスプライトに送られます。

SWF 3 アクション

ここで挙げられたアクションは SWF 3 で使用できます。

DoAction

DoAction は、現在のフレームが完了した時に Flash Player に対してアクションのリストを実行するように指示します。 アクションは DoAction タグがフレームのどこに出現したかということに関係なく、 ShowFrame タグが出現した時に実行されます。 SWF 9 以降では、 FileAttributes タグの ActionScript3 フィールドに 1 がセットされている時、 DoAction タグの内容は無視されます。

フィールドコメント
HeaderRECORDHEADERタグタイプ = 12
ActionsACTIONRECORD [0 個以上]実行するアクションのリスト
(次の ActionRecord 参照)
ActionEndFlagUI8 = 0常に 0

ACTIONRECORD

ACTIONRECORD は、 ACTIONRECORDHEADER と、それに続くアクションのデータのかたまりから成ります。 ACTIONRECORDHEADER は ActionCode を使って実行するアクションを指定します。 アクションがヘッダの後にデータを必要とする場合、 ActionCode の上位ビットは 1 にセットされます。これは ActionCode が、後に続く 16 bit の長さのアクションデータのかたまりを必要とすることを示します。 注:多くのアクションで Length 以降のデータのかたまりは指定されません。その場合、命令は 1 バイトの種類のデータのみで構成されます。

ACTIONRECORDHEADER

フィールドコメント
ActionCodeUI8アクションコード
LengthIf code >= 0x80, UI16ActionCode と Length フィールドを含まない、 ACTIONRECORDHEADER のバイト数

ActionGotoFrame

ActionGotoFrame は、 現在のファイル中の指定されたフレームに移動する命令です。

フィールドコメント
ActionGotoFrameACTIONRECORDHEADERActionCode = 0x81
Length は常に 2
FrameUI16フレームインデックス

ActionGetURL

ActionGetURL は、 UrlString で指定された URL からデータを取得する命令です。 URL は色んなタイプにすることができます。HTML ファイル、画像または他の SWF ファイル等です。 ファイルがブラウザ上で実行されている場合、 URL から取得したデータは TargetString で指定されるフレームに表示されます。 "_level0" と "_level1" は特別なターゲット名で、他の SWF ファイルを level 0 と 1 にロードするために使用されます。

フィールドコメント
ActionGetURLACTIONRECORDHEADERActionCode = 0x83
UrlStringSTRINGターゲット URL 文字列
TargetStringSTRINGターゲット文字列

ActionNextFrame

ActionNextFrame は、現在のファイル中の次のフレームに進める命令です。

フィールドコメント
ActionNextFrameACTIONRECORDHEADERActionCode = 0x04

ActionPreviousFrame

ActionPreviousFrame は、現在のファイル中の前のフレームに進める命令です。

フィールドコメント
ActionPrevFrameACTIONRECORDHEADERActionCode = 0x05

ActionPlay

ActionPlay は、現在のフレームから再生を開始する命令です。

フィールドコメント
ActionPlayACTIONRECORDHEADERActionCode = 0x06

ActionStop

ActionStop は、現在のフレームで再生を停止する命令です。

フィールドコメント
ActionStopACTIONRECORDHEADERActionCode = 0x07

ActionToggleQuality

ActionToggleQuality は、High と Low で描画品質を切り替える命令です。

フィールドコメント
ActionToggleQualtyACTIONRECORDHEADERActionCode = 0x08

ActionStopSounds

ActionStopSounds は、再生中の全ての音声を停止する命令です。

フィールドコメント
ActionStopSoundsACTIONRECORDHEADERActionCode = 0x09

ActionWaitForFrame

ActionWaitForFrame は、指定されたフレームで停止する命令です。 それ以外の場合、指定された数のアクションをスキップします。

フィールドコメント
ActionWaitForFrameACTIONRECORDHEADERActionCode = 0x8A
Length は常に 3
FrameUI16停止するフレーム
SkipCountUI8フレームがロードされていない時のスキップするアクションの数

ActionSetTarget

ActionSetTarget は後に続くアクションのコンテキストを切り替える命令です。 現在のファイルの名前付きオブジェクト (TargetName) に適用します。

例えば、 SetTarget アクションはスプライトオブジェクトのタイムラインを調整する時に使うことができます。 次のアクションの順序で "spinner" という名前のスプライトをタイムラインの最初のフレームに送信します。

  1. SetTarget "spinner"
  2. GotoFrame zero
  3. SetTarget " " (空文字列)
  4. アクション終了 (Action code = 0)

SetTarget "spinner" で spinner オブジェクトを SetTarget "" まで適用します。 これはアクションのコンテキストを現在のファイルに戻すように指定します。 ターゲット名に関する解説は DefineSprite をご覧ください。

フィールドコメント
ActionSetTargetACTIONRECORDHEADERActionCode = 0x8B
TargetNameSTRINGアクションターゲットのターゲット

ActionGoToLabel

ActionGoToLabel は、ラベルで指定されたフレームに移動する命令です。 FrameLabel タグを使うことでフレームにラベルを関連付けることができます。

フィールドコメント
ActionGoToLabelACTIONRECORDHEADERActionCode = 0x8C
LabelSTRINGフレームラベル

移動


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS