ActionCallFunction は、関数を実行します。 これには ActionScript の組み込み関数 (parseInt のような) と、ユーザ定義関数、ネイティブ関数が含まれます。 より詳しい情報は ActionNewObject をご覧ください。
フィールド | 型 | コメント |
ActionCallFunction | ACTIONRECORDHEADER | ActionCode = 0x3D |
ActionCallFunction は次のことを行います。
全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。
ActionCallMethod は ActionNewMethod のように、メソッド (関数) をスタックにプッシュします。
フィールド | 型 | コメント |
ActionCallMethod | ACTIONRECORDHEADER | ActionCode = 0x52 |
名前付きのメソッドが存在する場合、 ActionCallMethod は次のことを行います。
全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。
ActionConstantPool は、新しいコンスタントプールを作成します。 古いコンスタントプールが存在する時は上書きされます。
フィールド | 型 | コメント |
ActionConstantPool | ACTIONRECORDHEADER | ActionCode = 0x88 |
Count | UI16 | 次に続く定数の数 |
ConstantPool | STRING[Count] | 文字列定数 |
(注) ActionDefineFunction は SWF 7 以降では滅多に使用されません。 これは ActionDefineFunction2 に置き換えられました。
ActionDefineFunction は、与えられた名前と本体サイズで関数を定義します。
フィールド | 型 | コメント |
ActionDefineFunction | ACTIONRECORDHEADER | ActionCode = 0x9B |
FunctionName | STRING | 関数名 (空の場合、匿名関数) |
NumParams | UI16 | パラメータの数 |
param 1 | STRING | パラメータ名 1 |
param 2 | STRING | パラメータ名 2 |
・ ・ ・ |
||
param N | STRING | パラメータ名 N |
codeSize | UI16 | 続くコードのバイト数 |
ActionDefineFunction は FunctionName, NumParams, [param1, param2, …, param N], codeSize の順でパースされます。 ActionDefineFunction は、次のことを行います。
ActionDefineFunction は、次の方法で使用することができます。
使用法 1 匿名関数をスタックにプッシュします。 この関数は 関数リテラル で、命令文の代わりに式で表現されます。 匿名関数は次のような ActionScript で定義されます。
area = (function () {return Math.PI * radius *radius;})(5);
使用法 2 指定された FunctionName と関数定義により変数をセットします。 こちらは、より慣例的な方法で次のような ActionScript で定義されます。
function Circle(radius) { this.radius = radius; this.area = Math.PI * radius * radius; }
ActionDefineLocal は、ローカル変数の定義と値の設定を行います。 変数が既に存在する場合は、新しいもので置き換えられます。
フィールド | 型 | コメント |
ActionDefineLocal | ACTIONRECORDHEADER | ActionCode = 0x3C |
ActionDefineLocal は次のことを行います。
ActionDefineLocal2 は、ローカル変数を定義しますが値をセットしません。 変数が既に存在する場合は何も行いません。 ローカル変数の初期値は undefined になります。
フィールド | 型 | コメント |
ActionDefineLocal2 | ACTIONRECORDHEADER | ActionCode = 0x41 |
ActionDefineLocal2 は次のことを行います。
ActionDelete は名前付きのプロパティを ScriptObject から削除します。
フィールド | 型 | コメント |
ActionDelete | ACTIONRECORDHEADER | ActionCode = 0x3A |
ActionDelete は次のことを行います
ActionDelete2 は名前付きのプロパティを削除します。 Flash Player は最初、現在のスコープでプロパティを探します。 見つけられなかった場合、より大きいスコープへと範囲を広げてプロパティを探します。
フィールド | 型 | コメント |
ActionDelete2 | ACTIONRECORDHEADER | ActionCode = 0x3B |
ActionDelete2 は次のことを行います
ActionEnumerate は、 ActionScript オブジェクトの全ての "スロット" の名前を取得します。 オブジェクト obj の、全ての名前を表す記号を X とすると、 obj.X のような形式で表されるものを検索します。 ActionEnumerate は、 ActionScript の for .. in 文の実装に使われます。
(注) 特別なスロット名は省略されます。 特別な名前のリストは、 ECMA-262 標準の、 DontEnum の項目を調べてみてください。
リンク
フィールド | 型 | コメント |
ActionEnumerate | ACTIONRECORDHEADER | ActionCode = 0x46 |
ActionEnumerate は次のことを行います。
(注) プッシュする順番は未定義です。
ActionEquals2 は ActionEquals と似ていますが、 ActionEquals2 は型を区別します。 等価比較アルゴリズムは ECMA-262 Section 11.9.3 を使用します。
フィールド | 型 | コメント |
ActionEquals2 | ACTIONRECORDHEADER | ActionCode = 0x49 |
ActionEquals2 は次のことを行います。
ActionGetMember は、名前付きプロパティをオブジェクトから検索し、そのプロパティの値をスタックにプッシュします。
フィールド | 型 | コメント |
ActionGetMember | ACTIONRECORDHEADER | ActionCode = 0x4E |
ActionGetMember は次のことを行います。
例えば、オブジェクト obj のプロパティ foo に次のように値が割り当てられた時、
obj.foo = 3;
ActionGetMember の object を obj に、 name に foo を指定すると、スタックに 3 をプッシュします。 指定されたプロパティが存在しない時は、 undefined をスタックにプッシュします。
object パラメータは Object 型にする必要はありません。 object パラメータが number, Boolean, string のようなプリミティブ型の場合は、一時的なラッパーオブジェクト Number, Boolean, String へと自動的に変換されます。 これにより、ラッパーオブジェクトのメソッドが、プリミティブ型に対してでも呼び出すことができます。 例えば次の例は、 5 と表示されます。
var x = "Hello"; trace (x.length);
この例の変数 x には、プリミティブ文字列 "Hello" が代入されています。 x は、 String 型のラッパーオブジェクトに一時的にラップされ、その上で length プロパティを取得します。
ActionInitArray は ActionInitObject と同様に、 ScriptObject 内の配列の初期化を行います。 新しく作成されたオブジェクトはスタックにプッシュされます。 スタックには、新しく作成されたオブジェクトの参照のみが積まれます。 ActionInitArray の後に続く SetVariable か SetMember アクションにより、新しく作成されたオブジェクトを変数に代入することができます。
フィールド | 型 | コメント |
ActionInitArray | ACTIONRECORDHEADER | ActionCode = 0x42 |
ActionInitArray は要素数 (elems) をスタックからポップした後、 [arg1, arg2, …, argn] をポップします。
ActionInitArray は次のことを行います。
全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。
ActionInitObject は ActionInitArray と同じようにオブジェクトを初期化します。 新しく作成されたオブジェクトはスタックにプッシュされます。 スタックには、新しく作成されたオブジェクトの参照のみが積まれます。 ActionInitArray の後に続く SetVariable か SetMember アクションにより、新しく作成されたオブジェクトを変数に代入することができます。
フィールド | 型 | コメント |
ActionInitObject | ACTIONRECORDHEADER | ActionCode = 0x43 |
ActionInitObject は要素数 (elems) をスタックからポップした後、 [value1, name1, …, valueN, nameN] をポップします。
ActionInitObject は次のことを行います。
全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。
ActionNewMethod は、新しいオブジェクトを作成するためにコンストラクタ関数を呼び出します。 新しいオブジェクトが作成され、コンストラクタ関数に this キーワードが渡されます。 コンストラクタ関数に引数を指定することもできます。 コンストラクタ関数の戻り値は破棄されます。 ActionCallMethod や ActionNewObject と同じように、新しく作成されたオブジェクトはスタックにプッシュされます。
フィールド | 型 | コメント |
ActionNewMethod | ACTIONRECORDHEADER | ActionCode = 0x53 |
ActionNewMethod は次のことを行います。
全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。
ActionNewObject は、コンストラクタ関数を呼び出します。 新しいオブジェクトが作成され、コンストラクタ関数に this キーワードが渡されます。 オプションで、コンストラクタ関数の引数をスタック上に指定することもできます。 コンストラクタ関数の戻り値は破棄されます。 ActionCallMethod や ActionNewMethod と同じように、新しく作成されたオブジェクトはスタックにプッシュされます。
フィールド | 型 | コメント |
ActionNewObject | ACTIONRECORDHEADER | ActionCode = 0x40 |
ActionNewObject は次のことを行います。
全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。
ActionSetMember はオブジェクトのプロパティをセットします。 プロパティが存在していなかった場合は、新しく作成されます。 存在するプロパティが指定された時は上書きされます。
フィールド | 型 | コメント |
ActionSetMember | ACTIONRECORDHEADER | ActionCode = 0x4F |
ActionSetMember は次のことを行います。
ActionTargetPath は、指定されたオブジェクトのターゲットパスをスタックにプッシュします。 スタック上のオブジェクトの型が MovieClip の場合、オブジェクトのターゲットパスはドット区切りの表記でスタックにプッシュされます。 オブジェクトの型が MovieClip でない場合、結果はムービークリップのターゲットパスの替わりに undefined になります。
フィールド | 型 | コメント |
ActionTargetPath | ACTIONRECORDHEADER | ActionCode = 0x45 |
ActionTargetPath は次のことを行います。
スクリプトの with ブロックを定義します。
フィールド | 型 | コメント |
ActionWith | ACTIONRECORDHEADER | ActionCode = 0x94 |
Size | UI16 | 続くコードのバイト数 |
ActionWith は次のことを行います。