アクション > SWF 4 アクションモデル > フロー制御

フロー制御

ActionJump

ActionJump は、無条件分岐を作成します。

フィールド コメント
ActionJump ACTIONRECORDHEADER ActionCode = 0x99
BranchOffset SI16 オフセット

ActionJump は BranchOffset フィールドのバイト数をプログラムカウンタに加算します。 オフセットは符号付きの値です。分岐は –32,768 バイトから 32,767 バイトの範囲で行われます。 オフセット 0 は、 ActionJump アクションのすぐ次のアクションを指します。

ActionIf

ActionIf は、条件テスト付きの分岐を作成します。

フィールド コメント
ActionIf ACTIONRECORDHEADER ActionCode = 0x9D
BranchOffset SI16 オフセット

ActionIf は次のことを行います。

  1. 数値の Condition をスタックから取得します。
  2. Condition を Boolean に変換します。
  3. Condition が true かどうかテストします。 Condition が true の時、 BranchOffset フィールドのバイト数をプログラムカウンタに加算します。
(注)
SWF 4 ファイルを再生中の時は、 ''Condition'' は Boolean に変換されません。
true ではないことの代わりに 0 と比較されます。

オフセットは符号付きの値です。分岐は –32,768 バイトから 32,767 バイトの範囲で行われます。 オフセット 0 は、 ActionIf アクションのすぐ次のアクションを指します。

ActionCall

ActionCall は、サブルーチンを呼び出します。

フィールド コメント
ActionCall ACTIONRECORDHEADER ActionCode = 0x9E

ActionCall は次のことを行います。

  1. 値をスタックからポップします。 この値は、フレームラベルにマッチする文字列か、もしくはフレーム番号を指す数値になります。 ムービークリップ中の、これから呼ばれるフレームを識別するための文字列は接頭辞を使うことができます。
  2. フレームの場所を見つけられた時は、目的のフレームに含まれるアクションを実行します。 目的のフレームのアクションを実行した後は、 ActionCall 命令の後からまた実行が再開されます。
  3. フレームが見つからなかった時は何も行いません。

移動

最終更新:2017年02月20日 20:59