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

(12) DoAction

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

(59) DoInitAction

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

共通

action_list

  • 0 terminate のリスト
    +-------------------------------+
    | action | action | ....  |  0  |
    +-------------------------------+
                              <1byte>

action

  • 0 < code < 0x80
    +------------+
    | actioncode | 
    +------------+
    <-- 1 byte -->
  • 0x80 <= code
    +-----------------------------------+
    | actioncode | length | action_data | 
    +-----------------------------------+
    <-- 1 byte --><2bytes><-- length  -->

備考

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

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Tue, 07 Jun 2011 19:06:56 JST (4706d)