SWF文件
  swf文件的整体结构是 header + body的组成。
  文件的开始是一个[文件头]
  它的结构如下:
  字节 名称 说明
  1 Signature
  “F”表示非加密格式,”C”表示加密格式
  1 Signature “W”无特殊意义
  1 Signature “S”无特殊意义
  1 Version 版本号,它表示对应播放器版本
  4 FileLength 整个文件长度,低位在前
  N FrameSize
  RECT结构体,表示屏幕大小,具体结构和长度根据数据变化,分析方法另外讨论。
  2 FrameRate 帧频,默认为12,高位在前
  2 FrameCount
  帧数,表明文件根下的帧数,低位在前
  以上是swf中,最简单的一个tag,一个完整的swf文件是由很多独立的tag组成的。每一个tag都包括一个头和一个数据体,头有2种类型,短tag型和长­tag型。
  短tag型由2byte构成,前10个bit表示tag类型,后6个bit表示tag长度。
  长tag型由6byte构成,前10个bit表示tag类型,后6个bit固定为全1,后4个byte代表tag长度。
  tag的长度不同于文件头的长度FileLength,它是除去tag头后的长度。
  (另外)只有非加密的swf文件可以直接用以上的方法解析,加密的文件需要另外增加一步处理。具体方法由于牵涉到版权问题,这里我不加说明。
  这份资料可能对flash设计意义不大,但如果有人用的着,我会继续分析一下,如果有人也在做这方面的调查,欢迎和我一起讨论。
  第2节
  前节说明了swf文件是由1个head和1个body构成的。
  并且解析了header的结构,和一个tag的header部分的简单说明。
  下面余下的就是swf文件的body了。
  整个文件body是由大量的tag组成的,通过分析tag的head部分,可以立刻知道这个tag的类型代码和长度。
  如果你无法识别这个tag的类型,也可以利用tag的长度,直接跳过这个tag。
  这种方式保证了版本的兼容性,即使出现了新的tag,老版本的播放器还是能够解析完整个swf文件而不出现错误,大不了就是不能提供新的功能而已。
  以下就是swf文件结构的一个形象概念。
  (文件header)(文件body)
  |
  (tag 1)(tag 2)(tag 3)(……)
  |
  (tag header)(tag body)
  |
  (tag 类型代码)(tag 长度)
  这样大家是否对swf文件的结构有了一个基本的认识?
  下一节我会分析一下几个swf必有的tag,包括
  backgroundColor tag,showFrame tag和end tag
  第3节
  setBackgroundColor tag
  这个tag是直接跟在文件head后面的{dy}个tag,是文件中必然存在的。
  它的结构如下:
  长度(bit) 名称 说明
  16 header tag头,短tag型
  类型码为9
  24 BackgroundColor
  RGB类型,右3个字节,分别表示红、绿、蓝
  showFrame tag
  这是文件{zh1}第2个tag,它是必然存在的。
  结构如下:
  长度(bit) 名称 说明
  16 header tag头,短tag型
  类型码为1
  end tag
  结束tag,它的作用不用我说了,必然是文件的{zh1}一个tag。
  长度(bit) 名称 说明
  16 header tag头,短tag型
  类型码为0
  下一节我将讲的是character ID
  和Depth的意义和textField的基本tag组成。
  (另外)感谢AOL的补充和解释。
  第4节
  一个textField就是一个文本框,文本框有3种,静态的,动态的,和输入型。作为tag的话,它只有2种,静态的和动态的,输入型不过是动态的一种特别形­式。
  这里讨论动态文本框的组成。
  它由3个tag组成,2个定义tag和一个控制tag
  分别是:
  定义tag DefineFont2 DefineEditText (针对player 7.0
  如有不同情况请检查播放器版本)
  控制tag PlaceObject2
  DefineFont2 定义了一个字体信息,
  DefineEditText引用了定义的字体,并定义了显示的文字信息,而PlaceObject引用了定义的文字信息,并控制了文字的显示。
  他们之间的引用就是依靠character ID进行的。


郑重声明:资讯 【SWF文件】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——