📄 swffileformat.html
字号:
and in the place/move/remove model used by the display list.</li>
<li><span class="runInHead">Shape Data Structure—</span>The shape data structure
uses a unique structure to minimize the size of shapes and to render anti-aliased
shapes very efficiently on the screen.</li>
</ul>
<p> Note that although the individual components of a SWF file are compressed,
there is no overall compression applied to the .swf file. This makes it possible
for a player to process the file structure directly out of RAM without decompressing
it. Various elements of the file such as bitmaps, shapes and sounds can be decompressed
as they are needed. </p>
<a name="h3ExtensionMechanism"> </a>
<h3>Extension Mechanism</h3>
<p>
In order to let applications define their own tag types, it is possible to define an AppExtension tag that contains the name of the application functionality being implemented and a tag range that describe what tags will be used by this extension set. The extension sets should be similar to a MIME type where they take the form of the following string:
</p>
<pre>
<company name>/<extension set>
</pre>
<p>
For the entire file, these tag types will be interpreted in the context of the named extension. Applications should be able to remap the tag range for a particular file to avoid conflicts between two extension sets.
</p>
<p>
The extension must be in the 512-1023 tag type range.
</p>
<a name="h2SampleSWFFiles"> </a>
<h2>Sample SWF Files</h2>
<p> The following section shows a SWF file. Syntax is displayed in monospaced
font. Explanations of the syntax appear in normal font. </p>
<pre>
***** Dumping SWF File Information *****
----- Reading the file header -----
FWS
File version 3
File size 741
Movie width 550
Movie height 400
Frame rate 12
Frame count 10
</pre>
<p> The file header shows much information. FWS indicates that the file is a SWF
file; its version is 3.0 file. The file size is 741 bytes. The movie width is
550; its height is 400 pixels. The frame rate is 12 frames per second; there
are ten frames in this movie. </p>
<pre>
----- Reading movie details -----
<----- dumping frame 0 file offset 21 ----->
</pre>
<p>
The offset of Frame 0 is 21 bytes into the file.
</p>
<pre>
tagLen 3: tagSetBackgroundColor RGB_HEX ffffff
</pre>
<p>
TagLen specifies the actual length of the tag, in this case, 3 bytes (ffffff). .This tagSetBackgroundColor sets the background color to white.
</p>
<pre>
tagLen 2: tagDoAction
action code 7 stop
action code 0
</pre>
<p>
Pauses the frame. (DoAction's action is Stop. Action code 0 means that there are no more actions.)
</p>
<pre>
tagLen 32: tagDefineShape tagid 1
</pre>
<p>
Defines the first shape.
</p>
<pre>
tagLen 10: tagPlaceObject2 flags 1 depth 26
tag 1
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [000010a4 00000410]
</pre>
<p>
Inserts the first shape (tag 1) on the display list. The object's position on the stage is defined by the matrix.
</p>
<pre>
tagLen 201: tagDefineShape2 tagid 2
tagLen 76: tagDefineShape tagid 3
tagLen 190: tagDefineShape2 tagid 4
tagLen 33: tagDefineButton2 tagid 5
</pre>
<p>
Defines more shapes and a button.
</p>
<pre>
tagLen 15: tagPlaceObject2 flags 2 depth 26
tag 5
pos matrix hex [ a_fixed b_fixed] = [0004dbd3 00000000]
[ c_fixed d_fixed] [00000000 0004dbd3]
[tx_fixed ty_fixed] [00000600 00000a1c]
</pre>
<p>
Inserts the button (tag 5) on display list.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 1 file offset 627 ----->
tagLen 2: tagRemoveObject2 depth 2
</pre>
<p>
Removes button from the display list.
</p>
<pre>
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [000012ea 00000690]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays display list contents on the screen.
</p>
<pre>
<----- dumping frame 2 file offset 643 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [00001530 00000910]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 3 file offset 655 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [00001776 00000b90]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 4 file offset 667 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [000019bc 00000e10]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 5 file offset 679 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [00001c03 00001090]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 6 file offset 691 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [00001e49 00001310]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 7 file offset 703 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [0000208f 00001590]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 8 file offset 715 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [000022d5 00001810]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 9 file offset 727 ----->
tagLen 8: tagPlaceObject2 flags 1 depth 26
pos matrix hex [ a_fixed b_fixed] = [00010000 00000000]
[ c_fixed d_fixed] [00000000 00010000]
[tx_fixed ty_fixed] [0000251b 00001a90]
</pre>
<p>
Moves square left to right, top to bottom, diagonally on the stage.
</p>
<pre>
tagLen 0: tagShowFrame
</pre>
<p>
Displays contents of display list on the screen.
</p>
<pre>
<----- dumping frame 10 file offset 739 ----->
tagLen 0: tagEnd
</pre>
<p>
tagEnd indicates the end of the file.
</p>
<pre>
***** Finished Dumping SWF File Information *****
</pre>
<br>
<br>
<hr>
SWF File Format Specification<br>
<a href="SWFfilereference.html">SWF File Reference</a><br>
<a href="terminology.html">Terminology</a><br>
<hr>
<br>
<br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -