《Flash资料式中文 .docx》由会员分享,可在线阅读,更多相关《Flash资料式中文 .docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结Macromedia Flash文件格式( SWF)详细说明书Macromedia Flash 文件格式( SWF)(读作“ swiff ”)是 Macromedia Flash 播放器在互联网上进行矢量图形和动画发布的文件格式。SWF文件格式不是为图像编辑器之间共享图像而是为高效的说明格式设计的,它的设计是为了中意以下条件:在屏幕上即时显示:此格式的最主要目标是在屏幕上即时显示和支持实例,彩色图像的快速播放,动画和交互式按钮。可扩展性:此格式为标签式格式,因此其播放器能够通过增加新的特性来进 行升级而兼容其播放器的早期版本。网络发布:此格式能够在有限的网络资源和不行推测的网络
2、状况下进行传输,文件被压缩到很小并且支持流式播放。 SWF文件是一种 二进制格式的文件,它不能像 HTML文件一样可以直接阅读和懂得。 SWF文件使用了诸如位压缩、可选字段式结构等方法来减小文件的尺 寸。简易性:此格式简洁的结构使 Flash 播放器变得很小且便于携带。另外,Flash 播放器仅仅依靠操作系统特性中有限的集合。文件独立性:文件的显示不依靠任何诸如字体之类的扩展资源。可变性:文件能够在有限的硬件环境下很好的工作,而且能够尽可能的利用更好的硬件,这一点很重要,由于用户的运算机有着不同的显示器设置和色深。速度:文件能够以很快的速度和很高的质量播放。支持脚本:此格式包含了商定格式的标签
3、,标签规定了堆栈式机器说明字节 码的次序。字节码支持一种叫做ActionScript(动作脚本)的语言。 Flash 播放器规定了运行时的ActionScript(动作脚本)模式,此模式答应原始的绘 制、服务和 Flash 播放器特性之间相互作用。SWF文件的扩展名为 .swf ,它是一种 MIME(多用途的网际邮件扩充协议)类型的应用程序( X-Shockwave-Flash )。SWF格式经受了如干个版本。在第5 个版本中, SWF的标签设置经过了一次较大规模的充实和完善。从第 6 个版本之后,文件格式变化较小,例如仅在ActionScript中越来越多的 Flash 新特性部分或者完全的
4、被实现。因此,假如预备增加 SWF文件中使用较新特性的内容,那么就应当熟识Flash 播放器供应的 ActionScript对象模型,对于这些最好的参考是OReilly的ActionScript: the Definitive Guide,由科林莫克出版社出版。SWF文件头全部的 SWF文件均以 以下头部开头:SWF文件头可编辑资料 - - - 欢迎下载精品名师归纳总结字段类型 *说明签字标识UI8标识字符:“F”表示未压缩“C”表示已压缩(版本6 或后续版本)签字标识UI8此标识通常为“ W”签字标识UI8此标识通常为“ S”版本UI8单字节文件版本数(例如, 0x06 表示版本 6)文件长
5、度UI32整个文件的字节长度帧尺寸RECT单位帧的尺寸帧率UI16每秒的帧数,其 16 个位是依据 8.8 的格式表示的帧数UI16影片的总帧数*此类型在基本数据类型一节中定义文件头部是由一个三字节的标识符开头,为0x46、0x57、0x53(“ FWS”)或者 0x43、0x57、0x53(“ CW”S )其中之一。“ FWS”标识符说明该文件是未压缩的 SWF文件,“ CW”S 标识符就说明该文件前 8 个字节之后(即文件长度字段之后)的全部数据为开源的标准ZLIB 方式压缩。ZLIB 库所使用的数据格式在1950 至 1952 年的请求注解 , Internet标准文档( RFCS)中被
6、详细说明。 CWF文件压缩形式仅适用于版本 6 或者更高。标识符之后是一个字节的版本号,这个版本号并不是一个ASCII 码,而是一个 8 位的数字,比如,版本4 用 0x04 标识,而不是 ASCII 码“ 4”( 0x35)。文件长度字段是整个包含文件头在内的文件字节长度,假如是未压缩的SWF文件(标识符 FWS),那么长度字段应当是和文件大小恰好匹配,假如是一个经过 压缩的 SWF文件(标识符 CW)S ,那么文件长度字段是指文件经过解压缩之后的总长度,因此它一般不会和文件大小匹配,使用未压缩的文件尺寸能够让解压过程获得更高的效率。帧尺寸字段定义了影片的宽度和高度,它使用了RECT结构进行
7、储备,这就意味着它的尺寸能够依据坐标编码所需的位数变化。帧尺寸的 RECT结构使用的 X 和 Y 轴的最小值总为 0。而 X和 Y轴最大值分别表示了宽度和高度(参阅位值的使用)帧率是以帧每秒为单位的帧回放比率,此比率在SWF文件包含流式声音数据或者 Flash 播放器运行在低速 CPU下时并不会得到保证。帧数是整个 SWF影片帧的总数量。SWF文件结构可编辑资料 - - - 欢迎下载精品名师归纳总结文件头之后是一系列连续的标签数据块,全部的标签都共享一种通用格式,因此任何解读 SWF文件的程序都能跳过它不能识别的数据块。块内数据能够指向当 前一个块内的偏移量,但不能指向其它数据块内的偏移量。这
8、就使得标签能够被处理 SWF文件的工具进行移除、插入或修改操作。SWF文件格式标签格式每个标签都是由一个类型和一个长度值开头的,存在两种标签头部格式:短格式和长格式。短标签头部用于62 字节或者更小的标签数据,长标签头部能够用于任何大小不超过4GB的标签数据,从长远来看这将会是特殊有用的。记录头部(短)字段类型说明标签编码和长度U16高 10 位:标签类型低 6 位:标签长度留意:标签编码和长度字段并不是一个10 位的位字段后面跟着 6 位的位字段, 而是一个双字节的字, SWF文件不间 断的字节排序使得这两者具有不同的布局。该字段中的长度并不包含标签开头处的记录头部(即该字段所占有的长度)。
9、 假如标签的长度大于或者等于 63 字节,那么它会被储备在长标签头部。长标签头部由一个标识长度为63 字节( 0x3f )的短 标签头部和一个 32 位的长度组成。记录头部(长)字段类型说明标签编码和长度U16以短标签头部方式储备的长度为 63 字节的标签编码和长度长度UI32标签的长度描述标签和把握 标签SWF中的标签分描述标签和把握标签两种:描述标签这种标签描述了 SWF影片的内容形状、文本、图像、声音等等。每个定义标签都为其描述的内容指定了一个被称为“角色 ID”的唯独可编辑资料 - - - 欢迎下载精品名师归纳总结ID。Flash 播放器把这些角色存放在一种叫“字典”的库里。描述标签本
10、身不能驱动某个大事的产生。把握标签这种标签可以创建和驱动字典中角色的实例,把握影片的播放。SWF文件标签分类通常, SWF文件中的 标签可以任意显现。但尽管如此,也必需遵循少数几个规章:1、一个标签只能依靠前面定义过的标签。任何一个标签都不能依靠在才后面定义的标签。2、描述标签必需在使用它的任何把握标签之前定义。3、流式声音标签必需以次序方式储备。不规范的流式声音标签将会导致声音播放不正常。4、终止标签一般是 SWF文件的最终一个标签。字典字典是存放已经定义好的角色的库,它可以被把握标签所应用。字典的建立和使用应遵循以下规章:1、描述标签定义了诸如形状、字体、位图或者声音。2、每一个描述标签都
11、被指定一个唯独的角色ID。3、字典中的内容被储备在角色 ID 之后。4、把握标签能够通过角色 ID 在字典中找到所需内容并对其执行某种操作,例如显示形状或者 播放声音。每个角色 ID 必需指定一个唯独的 ID,不答应重复 ID。例如,第一个角色ID 是 1,其次个是 2。角色 0 被指定为表示空角色的专用 ID。并不是只有把握标签才能引用字典。描述标签同样也可以使用字典中的数据进行更复杂的角色定义。例如,按钮和剪辑标签都使用到了定义它们内容的角色。文本标签也包含了字体角色以便于为文本选择不同的字体。以下图表说明白描述标签、把握标签和字典之间的一种典型交互关系:* 详见显示列表处理 SWF文件F
12、lash播放器会在遇到“显示帧”标签之前处理SWF文件中全部的标签。这样,显示列表将被复制到场景中,在处理下一个帧之前 Flash 播放器会始终处于闲暇状态。第一帧的内容是第一个显示帧之前的全部把握标签操可编辑资料 - - - 欢迎下载精品名师归纳总结作所积存的成效。而其次个帧的内容是其次个显示帧之前的全部把握标签操作所积存的成效,依此类推。文件压缩策略由于 SWF文件在网络 中的传输日趋频繁,那么文件被尽可能的压缩将是特殊重要的。有几种方法可以达到此目的。以下提到几种方法:复用角色字典的结构能够让 SWF文件的元素 很便利的得到复用。例如,形状、按钮、字体或者位图可以被一次储备,多次引用。压
13、缩当一条线的起始坐标被假定是前一条线的终止坐标的时候,形状能够使用一种特殊有效的三角编码方式压缩。距离一般也使用与最终位置的相对关系 来表示。默认值矩阵和颜色转换式通常拥有比其他结构更为通用的字段。例如:对于矩阵,转换字段是它最常用的字段,而缩放比例和旋转使用比较少。因此假如缩放字段没有显现,那么它会被默认为100。假如旋 转字段没有显现,那么就假定没有旋转。使用默认值能够缩小文件尺寸。转变编码按规定, SWF文件只能将变化存放在状态之间。但显示列表使用的形状数据结构和位置、运动、移动模型却是相反的。形状数据结构形状数据结构使用了唯独的结构来减小文件的尺寸以及特殊有效的在场景中播放实名形状。概
14、要SWF文件由头部和其后的许多标签组成。有描述标签和把握标签 两种。描述标签定义了被视为角色的对象,它被定义在字典中。把握标签操作和使用角色,以及把握影片的流程。第一章Macromedia Flash ( SWF)第 7 版文件格式的新特点在这一章将描述 SWF规范第 7 版本中的新特性ActionScript(动作脚本)的扩展新的 ActionScript(动作脚本)字节码是在已经存在的“动作 定义函数”的基础上扩展的“动作定义函数2”,它现在答应函数在寄存器里 储存参数和局部变量。(版本 7 中“动作定义函数”字节码已经很少被用到, 它将会在以后的版本被“动作定义函数2”代替)。“动作定义
15、函数 2”也使用了创建把握器和通用变量 this 、arguments 、super 、_root 、_parent 和_global的储备。为了支持这些改进,动作储备寄存器使用“动作定义函数2”字节码现在能够拜望多达 256 个寄存器。可编辑资料 - - - 欢迎下载精品名师归纳总结为了改进并遵从 ECMA-262标准的 ActionScript(动作脚本), 和对面对对象程序设计供应更多的支持,版本7 引入了 ActionExtends (动作扩展)、 ActionCastOp (动作运算操作)和 ActionImplementsOp (动作实现操作)。这些文件格式的转变是为了支持Acti
16、onScript2.0。ActionExtends供应了创建两个类间的子类和超类关系的才能。通过ActionCastOp ,Flash 播放器版本 7 或者之后的版本能够将一种类型的对象转换成另一种。ActionImplementsOp 为 ActionCastOp 指定了对象实现的接口。版本 7 中 ActionInstanceOf将反映出对象是否实现了一个接口。ActionScript(动作脚本)目前通过 AcitonTry和 ActionThrow字节码来进行反常处理。 ActionTry声 明白反常条件的操作,而 ActionThrow可以抛出一个已经被抛出的错误的值。新的视频格式Fl
17、ash播放器版本 7 简洁的支持一种新的被称作“屏幕视频位流格 式”的无损视频编码,它能够让动作以最优化的方式显示在运算机屏幕。屏幕视频像 Sorenson H.263 位流格式,能够同时 用于 SWF文件和 FLV文件。Flash播放器版本 7 能够直接回放 FLV文件,而不使用 RTMP协议或者 Flash Communication MX 服务器。运行时 ActionScript把握新的 ScriptLimits标签供应了最大递归深度和脚本超时之前的可编辑资料 - - - 欢迎下载精品名师归纳总结把握。第一章Macromedia Flash ( SWF)第 7 版文件格式的新特点在这一章
18、将描述 SWF规范第 7 版本中的新特性可编辑资料 - - - 欢迎下载精品名师归纳总结ActionScript(动作脚本)的扩展新的 ActionScript(动作脚本)字节码是在已经存在的“动作 定义函数”的基础上扩展的“动作定义函数2”,它现在答应函数在寄存器里 储存参数和局部变量。(版本 7 中“动作定义函数”字节码已经很少被用到, 它将会在以后的版本被“动作定义函数2”代替)。“动作定义函数 2”也使用了创建把握器和通用变量 this 、arguments 、super 、_root 、_parent 和_global的储备。为了支持这些改进,动作储备寄存器使用“动作定义函数2”字节
19、码现在能够拜望多达 256 个寄存器。为了改进并遵从 ECMA-262标准的 ActionScript(动作脚 本),和对面对对象程序设计供应更多的支持,版本7 引入了 ActionExtends(动作扩展)、 ActionCastOp (动作运算操作)和 ActionImplementsOp (动作实现操作)。这些文件格式的转变是为了支持ActionScript2.0。可编辑资料 - - - 欢迎下载精品名师归纳总结ActionExtends供应了创建两个类间的子类和超类关系的才能。通过ActionCastOp , Flash 播放器版本 7 或者之后的版本能够将一种类型的对象转换成另一种。
20、 ActionImplementsOp 为 ActionCastOp 指定了对象实现的接口。版本 7 中 ActionInstanceOf将反映出对象是否实现了一个接口。ActionScript(动作脚本)目前通过 AcitonTry和ActionThrow 字节码来进行反常处理。 ActionTry声 明白反常条件的操作,而ActionThrow 可以抛出一个已经被抛出的错误的值。新的视频格式Flash播放器版本 7 简洁的支持一种新的被称作“屏幕视频位流格 式”的无损视频编码,它能够让动作以最优化的方式显示在运算机屏幕。屏幕视频像 Sorenson H.263 位流格式,能够同时 用于 S
21、WF文件和 FLV文件。Flash播放器版本 7 能够直接回放 FLV文件,而不使用 RTMP协议或者 Flash Communication MX 服务器。运行时 ActionScript把握新的 ScriptLimits标签供应了最大递归深度和脚本超时之前的可编辑资料 - - - 欢迎下载精品名师归纳总结把握。SetTabIndex设置了索引。 回调大事的创建新的 SetTabIndex 标签为每个 Flash 播放器标签次序中的对象除已经存在的 ClipEventInitialize之外, ClipEventFlags顺可编辑资料 - - - 欢迎下载精品名师归纳总结序现在包含了 Cli
22、pEventConstruct来标识创建大事。小型文本演示在以前,由于某种缘由,小的实名文本在 Flash 播放器中回显示不清楚。由于在 DefineFontInfo 、DefineFontInfo2 和 DefineFont2 标签中使用新的 FontFlagsSmallText 标记, Flash 播放器版本 7 以及后继版本能够动态文本和输入文本字形轮廓的依据象素边界 排列。其次章 Macromedia Flash ( SWF)第 6 版文件格式本章描述了 SWF第 6 版本规范中引入的特性。文件压缩第 6 版及后续版本的 SWF能够通过压缩来减小它们的尺寸。这种方式的选择是由一种不同的
23、文件头(用 CWS来代替 FWS)来标识。压缩方法使用了流行的 ZLIB 标准。可编辑资料 - - - 欢迎下载精品名师归纳总结Unicode 的支持第 6 版及后续版本的 SWF支持 Unicode 文本。第 6 版本的 SWF加入了 DefineFontInfo2标签。这是对可编辑资料 - - - 欢迎下载精品名师归纳总结DefineFontInfo 标签的一个帮忙扩展。 DefineFontInfo2 加入了语言编码字段。同样, DefineFontInfo2 标签使用了以前保留的字节来储备语言编码。语言编码的使用是 为了折行和当设备字体不存在的时候来选择一种牢靠的字体考虑的。Defin
24、eFontInfo、DefineFont2 和 DefineFontInfo2标签在第6 版及后续版本的 SWF中有着不同的使用规章。角色表使用ANSI和 shift-JIS 编码选项已经被提出异议,因此这些标签中全部的角色表都使用了 UCS-2编码。第 6 版及后续版本的 SWF中设备字体的名称使用 UTF-8 编码方式规定,而不是以前使用的现场特效编码。第 6 版及后续版本的 SWF中一般的 STRING类型也使用了 UTF-8编码来演示而不是以前使用的 ANSI或者 shift-JIS编码。命名锚点第 6 版引入了“命名锚点”的概念,SWF文件中的一个帧标签答应在浏览器的 URL顶层使用
25、 hash(记号)来搜寻一个帧,它类似于HTML页面中的命名锚点。在第6 版及后续版本的 SWF中,命名锚点通过在 FrameLabel 标签的 STRING非终结符之后包含一个额外的字节来编码。ActionScript扩展第 6 版及后续版本的 SWF中, DoInitAction标签包含了和 SWF 文件 Acition(动作)一样的 ActionScript字节码。但是,当 DoAction 标签中指定的动作被放置在堆里,并且在帧被全部绘出之前没有被激活,那么只要遇到此标签时, DoInitActions标签会被激活。 DoInitAction被用来实现ActionScript语言中的
26、initclip pragma。这对于在放置一个类定义场景里的 符号的实例之前,调用registerClass来关联一个影片剪辑符号是特殊有用的。按钮电影剪辑在 Flash6 中是一个新的概念。这就意味着按钮符号中,影片剪辑的实例除了传统的影片剪辑句柄之外,仍答应拥有和按钮符号类 型相同的大事句柄。这样,第 6 版及后续版本的 SWF中,大事类型包含的按钮类型的大事句柄,能够被使用在指向一个剪辑动作中,该动作属于影片剪辑符号的 PlaceObject2标签。可编辑资料 - - - 欢迎下载精品名师归纳总结SWF版本 6 增加了 ActionScript字节码ActionStrictEquals
27、。它在 ActionScript语言中实现了一个新的严格的相等操作符( = = = )。SWF版本 6 增加了 ActionScript字节码 ActionGreater和ActionStringGreater。它们实现了 ActionLess和 ActionStringLess的严格对应。它排除了使用规律否来执行小于或大于的必要。以此改善了性能并且排除了由于无意识的转变 ActionScript的赋值次序而造成的影响。SWF版本 6 增加了 ActionScript字节码 ActionInstanceOf。它在ActionScript语言中实现了“ InstanceOf ”操作符。SWF版本
28、 6 增加了 ActionScript字节码 ActionEnumerate2 。它的工作与ActionEnumerate 类似,但是操作在对象类型堆而不是一个变量名上。从第 6 个版本开头,人们开头宠爱 EnableDebugger2 标签并开头屏弃EnableDebugger 标签。新的音频、视频 格式第 6 版及后续版本的 SWF中,已经存在的 DefineSound 和SoundStreamBlock 标签支持新的编解码选项“ NellyMoser Asao ”,为低比特率而优化(参见 Nellymoser Compression )。两个标签 DefineVideoStream和 V
29、ideoFrame ,答应视频包含在第 6 版及后续版本的 SWF中。第 6 版本中,使用了“ Sorenson Spark ”视频编码(参见 Sorenson H.263 Bitstream Format)。FLV文件格式SWF内容可以在 Communication Server MX 的支持下 . 执行动态双声道音频、视频和数据交互。交互中,Communication Server能够预先记录或者 FLV格式的流式文件供应服务,它将音频、视频和数据进行同步编码。FLV中音频、视频的使用和SWF是一样的。和 SWF格式一样, FLV格式也是Macromedia 公司一种开放的标准文档。改善的
30、文件随着第 6 版说明书的发 布,以下 SWF文件格式各章节的文档已经被详细、透彻的修订过:.声音.字体和文本.位图.PlacePbject2中的剪辑动作.DefineButton2中的按钮动作可编辑资料 - - - 欢迎下载精品名师归纳总结描述标签和把握标签SWF 中的标签分描述标签和把握标签两种:描述标签这种标签描述了 SWF 影片的内容 形状、文本、图像、声音等等。每个定义标签都为其描述的内容指定了一个被称为“角色 ID”的唯独 ID 。Flash 播放器把这些角色存放在一种叫“字典”的库里。描述标签本身不能驱动 某个大事的产生。把握标签这种标签可以创建和驱动字典中角色的实例,把握影片的
31、播放。SWF 文件标签分类通常, SWF 文件中的标签可以任意显现。但尽管如此,也必需遵循少数几个规章:1 、一个标签只能依靠前面定义过的标签。任何一个标签都不能依靠在才后面定义的标签。2 、描述标签必需在使用它的任何把握标签之前定义。3 、流式声音标签必需以次序方式储备。不规范的流式声音标签将会导致声音播放不正常。4 、终止标签一般是 SWF 文件的最终一个标签。字典字典是存放已经定义好的角色的库,它可以被把握标签所应用。字典的建立和使用应遵循以下规章:1 、描述标签定义了诸如形状、字体、位图或者声音。2 、每一个描述标签都被指定一个唯独的角色ID 。3 、字典中的内容被储备在角色ID 之后
32、。4 、把握标签能够通过角色 ID 在字典中找到所需内容并对其执行某种操作,例如显示形状或者播放声音。每个角色 ID 必需指定一个唯独的 ID ,不答应重复 ID 。例如,第一个角色ID 是 1 ,其次个是 2 。角色 0 被指定为表示空角色的专用 ID 。并不是只有把握标签才能引用字典。描述标签同样也可以使用字典中的数据进 行更复杂的角色定义。例如,按钮和剪辑标签都使用到了定义它们内容的角色。文本标签也包含了字体角色以便于为文本选择不同的字体。以下图表说明白描述标签、把握标签和字典之间的一种典型交互关系:可编辑资料 - - - 欢迎下载精品名师归纳总结详见显示列表处理 SWF 文件Flash
33、播放器会在遇到 “显示帧 ”标签之前处理 SWF 文件中全部的标签。这样,显示列表将被复制到场景中,在处理下一个帧之前 Flash 播放器 会始终处于闲暇状态。第一帧的内容是第一个显示帧之前的全部把握标签操作所积累的成效。而其次个帧的内容是其次个显示帧之前的全部把握标签操作所积存的效 果,依此类推。文件压缩策略由于 SWF 文件在网络中的传输日趋频繁,那么文件被尽可能的压缩将是特殊重要的。有几种方法可以达到此目的。以下提到几种方法:复用角色字典的结构能够让 SWF 文件的元素很便利的得到复用。例如, 形状、按钮、字体或者位图可以被一次储备,多次引用。压缩当一条线的起始坐标被假定是前一条线的终止
34、坐标的时候,形状能够 使用一种特殊有效的三角编码方式压缩。距离一般也使用与最终位置的相对关系来表示。可编辑资料 - - - 欢迎下载精品名师归纳总结默认值矩阵和颜色转换式通常拥有比其他结构更为通用的字段。例如:对于矩阵,转换字段是它最常用的字段,而缩放比例和旋转使用比较少。因此如果缩放字段没有显现,那么它会被默认为100 。假如旋转字段没有显现,那么就假定没有旋转。使用默认值能够缩小文件尺寸。转变编码按规定, SWF 文件只能将变化存放在状态之间。但显示列表使用的形状数据结构和位置、运动、移动模型却是相反的。形状数据结构形状数据结构使用了唯独的结构来减小文件的尺寸以及特殊有效的在场景中播放实名形状。概要SWF文件由头部和其后的许多标签组成。有描述标签和把握标签两种。描述标签定义了被视为角色的对象,它被定义角色,以及把握影片的流程。在字典中。把握标签操作和使用可编辑资料 - - - 欢迎下载