- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
- ActionScript2 がコンパイルされたバイトコードを収容するタグ
- DoAction と InitAction がある。
* DoAction [#eb8b77ca]
+------------------------------+
| tag & length | action_list |
| 2 | |
+------------------------------+
< 2 or 6 bytes ><--- length --->
* InitAction [#r2a72671]
+------------------------------------------+
| tag & length | sprite_id | action_list |
| 2 | | |
+------------------------------------------+
< 2 or 6 bytes ><-2 bytes->
<------- length -------->
* 共通 [#q6112fa2]
** action_list [#n3f37d6c]
- 0 terminate のリスト
+----------------------------+
| action | action | .... | 0 |
+----------------------------+
+-------------------------------+
| action | action | .... | 0 |
+-------------------------------+
<1byte>
** action [#if58b8ce]
- code < 0x80
- 0 < code < 0x80
+------------+
| actioncode |
+------------+
<-- 1 byte -->
- code >= 0x80
- 0x80 <= code
+-----------------------------------+
| actioncode | length | action_data |
+-----------------------------------+
<-- 1 byte --><2bytes><-- length -->
* 備考 [#s8754979]
- オペコード-オペランドも、TLC 構造なので、オペコード毎の構造を意識せずに、処理したいオペコードだけ考慮すればよい。(通常のマシン語だと、オペコードに応じて後ろに続く長さが変わるので、全オペコードを知らないと一部だけ変更が出来ない)
- オペコードによって長さが大体決まるので、length フィールドは冗長ではあるんだけど。編集し易い。