Top > Flash > SWF > format > Action
- ActionScript2 がコンパイルされたバイトコードを収容するタグ
- DoAction と InitAction がある。

* (12) DoAction [#tag12]

 +------------------------------+
 | tag & length |  action_list  |
 |  2           |               |
 +------------------------------+
 < 2 or 6 bytes ><--- length --->

* (59) DoInitAction [#tag59]

 +------------------------------------------+
 | tag & length | sprite_id |  action_list  |
 |  2           |           |               |
 +------------------------------------------+
 < 2 or 6 bytes ><-2 bytes->
                 <-------  length -------->

* 共通 [#q6112fa2]
** action_list [#n3f37d6c]

- 0 terminate のリスト
 +-------------------------------+
 | action | action | ....  |  0  |
 +-------------------------------+
                           <1byte>
** action [#if58b8ce]
- 0 < code < 0x80
 +------------+
 | actioncode | 
 +------------+
 <-- 1 byte -->
- 0x80 <= code 
 +-----------------------------------+
 | actioncode | length | action_data | 
 +-----------------------------------+
 <-- 1 byte --><2bytes><-- length  -->

* 備考 [#s8754979]

- オペコード-オペランドも、TLC 構造なので、オペコード毎の構造を意識せずに、処理したいオペコードだけ考慮すればよい。(通常のマシン語だと、オペコードに応じて後ろに続く長さが変わるので、全オペコードを知らないと一部だけ変更が出来ない)
- オペコードによって長さが大体決まるので、length フィールドは冗長ではあるんだけど。編集し易い。

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes