SWF文件结构解析
- 格式:pdf
- 大小:166.17 KB
- 文档页数:2
SWF文件结构大解剖Flash各种实例剖析我们都看过不少,不过你有没有想过swf文件内部到底是怎样的结构呢?不少闪客都想制作自己的Flash播放器,除了对控件的掌握和使用,更需要我们对swf文件的结构有深入的了解。
于是我用WinHex分别打开一个swf文件和由它生成的exe文件,经过仔细分析对比后,我不仅发现了swf文件转变成exe可执行文件的秘密,并且将Flash自带播放器具备而控件却无法实现的那些功能的谜底也同时解开了。
既然要“解剖”swf文件我们就要有“解剖”工具,我使用的是WinHex 9.2,你也可以用其它的二进制编辑器来查看。
一、swf文件结构和信息左侧“偏移量”一格代表一个字节,相同或相关功能的字节用同一种背景色表示。
偏移量用十进制数表示,每个字节的值均用十六进制数表示。
注:因长宽控制码所占字节数不确定,故其后的偏移量无法用具体数字来表示,改用N1、N2、N3等符号。
以上表格中所展示的是swf文件的结构,通过它你就能很清楚地明白哪部分对你编程有用,哪部分可以解决长期困绕的你的问题,怎么样?是不是开始偷着乐了?别着急,继续看更精彩的还在后面呢!二、swf文件中记录影片宽、高的方式前面表中第八个字节“影片宽高数据控制码”指的是下表中控制码一栏中的数字。
第九个字节至第N个字节“影片的宽度与高度数据存放区”指的是下表中控制码右边的那一行数字。
由于控制码的不同,宽度与高度的数据存放区的字节长度也不同。
下表中将控制码所在的字节分为两部分(高四位和低四位)。
高低位不同的组合决定了数据区占用字节数以及不同的高度算法。
相应的控制码后的蓝色条表示数据区所占用的字节。
五星代表有效数据(注意每个五星只占半个字节),其中前面几个连续的五星对应的数据记录了高度值,后面几个连续的五星对应的数据记录了宽度值。
将连续的五星所在位置的数(十六进制)组合起来,得到四位或六位的十六进制数,将此数转换成十进制数,白色五星得到的数除以10就是影片宽度数值,红色五星得到的数除以40就是影片高度数值。
swf文件的数据结构以及转为exe或从exe中剥离出swf的源代码SWF文件是由一个文件头,以及一系列的标签组成的。
标签类型有两种:定义型标签和控制型标签。
定义型标签把所有物体定义成一个个角色,这些角色存在字典里面。
控制型标签操作这些角色,并且控制影片的流程。
swf 的长度单位使用twips(缇),1像素=20缇,这样,分数的像素可以使用整数的缇表示。
swf 的字符串是以00结束的byte序列,采用utf-8编码。
下面介绍swf文件的数据结构。
一、文件头文件头的结构见表1。
表1:SWF文件头---------------------------------------------------------------------------字段字节数说明---------------------------------------------------------------------------标识符 3 “FWS”或“CWS”的ascii码版本号 1 版本,例如:1表示swf1,6表示swf6文件长度 4 长整形,文件的字节数,低位在前帧大小RECT结构SWF场景的大小,单位为twip(缇,1缇=1/20像素,与VB不同)帧速度 2 以8.8表示的浮点数(也有文章说这是一个整形数),默认=000C帧数 2 整形,影片总帧数,低位在前---------------------------------------------------------------------------说明:1.文件头以标识符开始,不是“FWS”就是“CWS”。
FWS表示该文件未压缩;CWS 表示文件从 RECT 字段开始(第 9 个字节开始)至文件结尾的所有内容,都是使用开放标准 ZLIB 压缩过的(CWS 是在 SWF6 以后才被使用的。
对其解压缩可以使用 zlib1.dll 中提供的uncompress)。
SWF矢量动画解析框架设计
倪应华;金炳尧
【期刊名称】《计算机系统应用》
【年(卷),期】2010(019)003
【摘要】SWF是一种网络交互矢量图形动画格式.从介绍SWF动画文件结构入手,设计了SWF文件的解析框架.探讨了SWF解析流程中的两个重要环节:SWF文件头解析和Tag解析,在此基础上设计SWF的解析程序实现SWF动画环境信息、动画元素信息以及控制信息的获取.
【总页数】5页(P202-205,165)
【作者】倪应华;金炳尧
【作者单位】浙江师范大学教育信息技术研究所,浙江金华321004;浙江师范大学教育信息技术研究所,浙江金华321004
【正文语种】中文
【相关文献】
1.SWF动画文件解析器设计与实现 [J], 鲁云飞;何明华;黄婷婷;许海涛
2.网络矢量图形SWF与SVG的比较分析 [J], 万明民;顾景文
3.PPT中,SWF动画无法播放的解决方法 [J], 翁永平
4.基于MFC的SWF动画文件解析设计 [J], 鲁云飞;何明华
5.浅析SWF动画制作软件及技巧 [J], 张红艳
因版权原因,仅展示原文概要,查看原文内容请购买。
flash工作原理Flash是一种常用的多媒体技术,广泛应用于网页设计、游戏开发、动画制作等领域。
本文将介绍Flash的工作原理,从整体架构到具体实现细节,以帮助读者更好地理解Flash的运行机制。
我们来了解Flash的整体架构。
Flash由两个核心组件组成:Flash Player和Flash文件。
Flash Player是一个独立的应用程序,用于在用户的计算机上播放Flash文件。
Flash文件则是一种特殊的文件格式,其中包含了用于展示动画、音频和视频等多媒体内容的代码和资源。
当用户在浏览器中打开一个包含Flash内容的网页时,浏览器会加载Flash Player,并将Flash文件传递给Flash Player进行处理。
Flash Player会解析Flash文件中的代码,将其转换为可视化的内容,并在用户的屏幕上显示出来。
接下来,我们详细介绍Flash文件的结构和工作原理。
一个Flash 文件通常由多个元素组成,包括舞台、场景、图层、时间轴和动画对象等。
舞台是Flash文件的主要区域,用于展示内容。
场景则是舞台的一个子区域,用于划分不同的内容区块。
图层用于分层管理不同元素,使其可以在时间轴上独立操作。
时间轴是Flash文件的核心控制区域,用于定义和控制动画的播放顺序和时间。
动画对象则是Flash文件中的可视化元素,如图片、形状和文本等。
Flash文件的工作原理是基于时间轴的概念。
时间轴上的每一帧都代表了一个时间单位,Flash Player会按照时间轴上的帧顺序依次播放动画。
在每一帧中,Flash Player会根据代码和资源定义,计算并渲染当前帧的内容。
这意味着动画对象的位置、大小、颜色等属性可以在不同帧上进行变化,从而实现动画效果。
除了时间轴上的帧动画,Flash还支持基于代码的动画控制。
开发者可以使用ActionScript语言编写代码,通过控制动画对象的属性和行为,实现更加复杂的动画效果。
SWF文件头:所有SWF文件头都具有如下内容(格式定义见第三章基本数据格式):文件开头包含0x46,0x47,0x53(“FWS”)或者0x46,0x57,0x43(“CWS”)三个字节大小的域。
FWS标记表示无压缩的SWF格式文件;CWS表示在使用标准的ZLIB压缩完8个字节长度FileLength域后的域。
数据格式使用1950到1952通用标准文档的ZLIB库进行描述。
只有在SWF6.0以后版本才允许进行CWS文件压缩。
然后是一个字节的版本域。
版本域不是ASCII字符而是一个8位的数字。
例如:SWF4.0版本的版本字节是0x04,而不是ASCII字符‘4’(0x35)。
在文件头中文件长度域包含了SWF文件的总长度。
如果是无压缩的SWF(FWS域)文件,文件长度域储存文件的大小。
如果是压缩的SWF文件,文件长度域存储压缩后的文件大小,这样一般不用计算文件的大小。
如果无压缩有效,则能够进行更有效的压缩处理。
FrameSize(帧大小)域定义了动画的宽度和高度。
并以RECT格式存储,也就是它的大小依照需要的字节大小进行改变。
X 和Y 坐标一直保持为0;最大坐标值用来定义动画的宽度和高度。
(见使用字值)。
FrameRate (帧速)表示每秒帧的播放速度。
这个速度不是在SWF 文件中流声音数据的速度或运行在低速率CPU 上的速度。
FrameCount (帧数)指SWF 动画的总帧数。
SWF 文件结构:下面的SWF 文件头由几个连续的标签(Tag)数据块组成。
所有的标签(Tag)都是一个格式,因此分析一个SWF 文件不用去了解这些数据块。
数据块中的数据指向它内部的数据,但不能指向其他数据块内部的数据。
这样便于使用工具对SWF 文件进行增加、删除、修改标签(Tag)。
标签(Tag)格式:每个标签(Tag)都包含标签(Tag)类型和长度。
有两种标签(Tag)头格式,长类型和短类型。
短标签(Tag)用于标识小于62字节的数据。
关于SWF那个著名的漏洞-电脑资料作者:zodiacsoft来源:天鹅糊&&乌鸦酱[Toooooooooooooooooold]也就是CVE-2007-0071,flash9x.ocx存在问题,版本一直影响到9.0.115,。
漏洞本身很简单,Dowd的思考方向没有脱离大众,但关键在于相当牛逼的一系列利用技巧。
具体的细节Dowd写了一篇很棒的paper,估计很多人看了,也有很多人做了。
文章我仔细拜读了一次,但出于某些原因,没有去动手做出最后的成品,以后也不打算做,这个东西不是手把手说怎么触发利用的,而是一些关于那篇文章的勘误和另一些周边小问题的补充。
第一个障碍是swf文件格式,这个大概会花费你两到三个小时的时间。
推荐下载一个Sothink SWF Decomplier,当然最好还要一个Flash CS3。
参考文献当然是Adobe自己公开的SWF文件格式pdf。
同很多文件格式一样,SWF由头和一系列的块组成。
SWF又分压缩和非压缩两种,但两者都保留了基本的头块,压缩方式是zlib,可以用标准的zlib来解压,压缩的SWF先处理一下比较好(或者导出的时候选择非压缩方式),这样原始的数据看起来会方便些。
块格式有各种各样的标示和数据,大多数情况下标示用6个字节,后4个字节表示长度,有时候为了节约,当块长在63字节以内的时候也用两个字节来表示标示和长度,这个有点麻烦,需要计算一下。
还有一种变长的数字表示形式,最长用5个字节来表示一个32位整型,也是为了节约,这个也有点麻烦,手算肯定麻烦,还是要写个程序自己算。
过了文件格式解析这一关,大概也写出一个能够parse各个块的程序了,最好能拆开各块分成文件,然后能组装起来,后面手工编辑方便很多。
第二个障碍是ActionScript,这个地方要花多少时间就难说了。
参考文件当然是Adobe自己的pdf,不过也就是拿来当个手册用,只要记住0×62 0×63 0×47等字节码的功能就可以了。
SWF文件结构这里所讲的FLASH的文件结构不是指文件的存储格式结构,而是指FLASH文件特有的运行结构。
了解它对做 好FLASH会有一定的帮助。
FLASH 作为一个动画制作工具,其最终成品是以.SWF文件表现的,一个复杂的SWF文件,无论从时间还是空间范围都是由一定结构组成的,组成时间顺序的最基本单 位是帧,而组成空间范围的基本单位是物体对象。
FLASH文件结构按时间顺序和空间范围可分为顺序结构和层叠结构两类,下面我们进一步分析。
2.顺序结构及应用如前述,顺序结构的基本单位是帧,由无数个顺序帧构成了场景,由无数个场景构成了一个SWF文件。
在物理上第一个帧与下一个帧是连续的,第一个场景与下一个场景也是连续的,同一时间点上的帧如同一幅图,连续时间内的多个帧构成了由多幅图形成的画面,把 这些多画面进行顺序播放,就形成了动画。
(变形动画和移动动画只不过是把中间的过渡帧交由FLASH自动处理)如果不施加Actions,FLASH的运 行按顺序结构依次进行,同一时间点上的对象同时出现,一个场景播完后紧接着播第二个场景,直至到最后一个场景的最后一帧。
施加了Actions后,则按 Actions指令进行转向,指令作用结束又按一定的时间顺序依次运行播放。
帧是物体对象的载体,场景是物体对象的载体集合。
在实际应用中,可以利用顺序结构来安排物体对象出场的先后、出场时间的长短(帧越占得多,时间占得越长);把相对类同的主题设成一个场景则便于制作和调试(检测功能中有 检测电影 和 检测场景 之分,前者播放的是整个影片,后者播放的是当前一个场景)。
可见,顺序结构主要与播放的时间顺序和时间长短有关。
3.层叠结构及应用层叠结构表现在空间范围上,最基本的单位是画面物体,多个画面物体可以同处一帧,同一帧上的画面物体如果是符号的话(严格说应该称为例子或实例)存在着前后叠放的关系,后放上的符号总是处于前面并把先放上的符号遮住,要改变这种先后叠放的关系,可以选中符号后用Ctrl+上下箭头键进行。
swfobject2.2参数详解(swfobject.embedSWF)swfobject2.2参数详解(swfobject.embedSWF)swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn);各个参数的含义:1--> swfUrlStr:要加载的SWF⽂件相对地址(包括路径、⽂件名、⽂件类型等)2--> replaceElemIdStr:加载的SWF将替代id为此字符串的页⾯元素;3--> widthStr:SWF加载后在页⾯中显⽰的宽度;4--> heightStr:SWF加载后在页⾯中显⽰的⾼度;5--> swfVersionStr:要播放此SWF⽂件所要使⽤的Flash Player最低版本;6--> xiSwfUrlStr:如果没有flash那就使⽤这个⾃动安装flash的⽂件 swfobject2.2源⽂件⾥有(其实是个空的swf⽂件;7--> flashvarsObj:这⾥是flashvars的值。
这个常⽤来作为html与flash之间传递参数,本来是在params对象中的属性,由于考虑到常⽤和⽅便,所以单独取了出来。
如果不需要传参可以设置为null;也可以设置成null,然后在param中写。
8--> parObj:下⾯是可能出现的属性及其解释;play: 表⽰是否⾃动播放,true(默认,⾃动)后者false(不⾃动);loop:表⽰是否循环播放,true(默认)或者false;menu:表⽰是否显⽰右键菜单,true(默认)或者false,注意,当为false时也并不是不显⽰所有的右键菜单,⼀般会留下“设置”、“全局设置”、“关于、、、、、”等⼏个菜单;quality:参数值: low | medium | high | autolow | autohigh | best, 默认为high;说明: (可选)指定在应⽤程序回放期间使⽤的消除锯齿级别。
swf是一种多媒体文件格式,全称是Flash动画文件,其实也属于视频格式的一种,不过这种格式视频很多播放器不兼容。
就在前两天公司开会,有位同事上去播放相关视频的时候,屏幕上显示格式不兼容播放不了,那个场面真是极度尴尬,后来才发现没有将swf格式转成mp4导致的。
为了避免大家遇到这种情况,今天我就将swf转mp4的方法分享给大家。
一、在线转换法
1.进入网站
我们先在浏览器打开【迅捷视频官网】,进入网站后,再从首页导航栏中找到【在线转换】,然后在【视频转换】那一栏找到“SWF转MP4”就行了。
2.上传视频
接下来,我们点击【选择文件】将需要转换的视频文件上传,然后把视频输出格式设置为mp4,就可以点击【开始转换】了。
3.保存文件
等视频转换完成后,我们点击【立即下载】就能把视频保存在我们的电脑里。
二、借助软件
1.打开工具
我们先在电脑上打开【迅捷视频转换器】,进入该工具首页后,我们直接点击第一个【视频转换】功能。
2.添加文件
然后我们先把需要转换的swf文件加入工具中,你可以直接把文件拖拽入工具内,也可以点击【添加文件】将文件加入工具。
3.开始转换
接下来,我们开始设置转换参数,先点击【输出格式】将格式改为mp4,然后点击【更改路径】调整视频输出后的保存位置。
最后直接点击右下角的【全部转换】,等几秒就能转换成功。
以上就是swf转换成mp4的方法了,这两种方法转换效果都很好,操作也特别简单,只需要按照上面的步骤进行,小白也能轻松完成转换。
在这两者之间,你可以根据不同的情况,选择使用更为其中更为合适的方法。
SWFUploadSWF多文件无刷新上传,利用flash完成多文件上传操作。
服务器端可以用Struts、Servlet、JSP完成,这里用Struts1.x完成上传1、首先看下目录结构SWFUpload这个文件夹是核心文件,里面的文件一个都不能少。
css文件夹是样式文件,所有的样式可以在此文件中修改完成images是图片jslib是js库文件,需要的上传的js文件和flash文件其中handlers.js是上传中一系列的事件,可以在此文件中修改自己的上传所需要的事件。
如开始上传、取消、停止上传等swfupload.queue.js这个文件主要是完成将客户端选择的多一个文件一个个的排成一个队列,然后依次向服务器上传。
swfupload.swf是flash文件,就那个添加或上传的按钮sample.html是完成后的上传实例2<script type="text/javascript" src="jslib/handlers.js" charset="utf-8"></script><script type="text/javascript">var swfUpload;window.onload = function() {var settings = {flash_url : "jslib/swfupload.swf",upload_url: "../upload.do",post_params: {"param" : "uploadParams"},file_size_limit : "200MB",file_types : "*.*",file_post_name: "uploadFile",file_types_description : "All Files",file_upload_limit : 50,file_queue_limit : 0,custom_settings : {progressTarget : "fsUploadProgress",cancelButtonId : "btnCancel"},debug: true,//是否显示调试的textarea// Button settingsbutton_image_url:"images/TestImageNoText_65x29.png",button_width: "65",button_height: "29",button_placeholder_id: "spanButtonPlaceHolder",button_text: '<span class="theFont">浏览</span>',button_text_style: ".theFont { font-size: 12; }",button_text_left_padding: 12,button_text_top_padding: 3,// The event handler functions are defined in handlers.jsfile_queued_handler : fileQueued,file_queue_error_handler : fileQueueError,file_dialog_complete_handler :fileDialogComplete,upload_start_handler : uploadStart,upload_progress_handler : uploadProgress,upload_error_handler : uploadError,upload_success_handler : uploadSuccess,upload_complete_handler : uploadComplete,queue_complete_handler : queueComplete};//自定义属性,是否停止上传swfUpload = new SWFUpload(settings);swfUpload.stopped = false;};function fileDialogComplete(numberselected, numberqueued) {if (swfUpload.getStats().files_queued > 0) {document.getElementById("btnCancel").disabled = false;}}function queueComplete(numberselected, numberqueued) { //alert(numberselected + "-" + numberqueued);}function upload() {if (swfUpload.getStats().files_queued > 0) {//document.getElementById("btnCancel").disabled = true;swfUpload.startUpload();} else {alert("请选择要上传的文件!");}}function stop() {if (swfUpload) {swfUpload.stopUpload();}}</script></head><body><div id="content"><h2></h2><form id="form1" action="" method="post"enctype="multipart/form-data"><p></p><div class="fieldset flash" id="fsUploadProgress"><span class="legend">上传文件列表</span></div><div id="divMovieContainer"><input id="filenamelist" type="hidden"name="filenamelist" /><span id="spanButtonPlaceHolder"></span><input type="button" value="上传"onclick="upload();" style="margin-left: 2px; font-size: 8pt; height: 29px;" /><input type="button" value="停止"onclick="stop();" style="display: none; margin-left: 2px; font-size: 8pt; height: 29px;" /><input id="btnCancel" type="button" value="取消所有" onclick="swfUpload.cancelQueue();" disabled="disabled"style="margin-left: 2px; font-size: 8pt; height: 29px;" /><input type="button"onclick="javaScript:window.close();" name="bt" style="margin-left: 2px; font-size: 8pt; height: 29px;" value="关闭" /></div></form></div></body></html>A.先介绍导入的js文件<link rel="stylesheet" type="text/css" href="css/default.css"><script type="text/javascript" src="jslib/swfupload.js"></script><script type="text/javascript"src="jslib/swfupload.queue.js"></script><script type="text/javascript" src="jslib/fileprogress.js"></script><script type="text/javascript" src="jslib/handlers.js" charset="utf-8"></script>这些文件是必须的,且在导入的时候注意你的路径和顺序。
[原创]SWF9文件格式规范中文翻译(一)2009-03-31 23:42前言:最近很想用AIR开发一个游戏里自动生成SWF素材包的工具,所以需要了解清楚SWF文件的格式和结构。
网上找了一下只有官方的英文文档,找不到比较完善一点的中文资料。
所以索性自己翻译了一份,放出来跟大家一起分享。
目前只翻译了Introduction、SWF File Format9、SWF File Format8三部分。
官方的原文比较长,中间的SWF File Format 7、SWF File Format 6打算略过,后面会放上Basic Data Types的部分。
文中的对于标签的讲述可能会视情况而定了。
作者:闪刀浪子 /mr_ziqiang原文:swf_file_format_spec_v9.pdfSwf文件格式规范参考:/alenwelkin/archive/2008/02/12/2088719.aspx作者kk介绍章节其他部分参考:/flashvan/archive/2004/09/30/121482.aspx作者:AOL 介绍SWF文件格式规范SWF格式(念"swiff")主要用于在互联网上传递矢量图、文本、视频和声音,且能被Adobe Flash Player软件支持。
它被设计为一种高效的传输格式,而不是用于图形和图形编辑器的交换格式。
以下是它的设计目标:适合屏幕显示——需要适合屏幕显示同时支持抗锯齿。
能够快速渲染各种颜色格式的位图、动画和交互按钮。
(ps:比如ARGB、RGBA等)易于扩展——使用标签格式,让他能够很容易保证与Flash Player之前的版本兼容同时又能够随意扩展新的特性。
方便网络传输——要能够在有限或者不确定的带宽下传输。
文件使用压缩来减少尺寸同时支持流式渲染。
采用的是二进制格式的标签而不是像HTML一样的可读性标签,同时使用了bit-pack(ps:相当于内置一些编译好的二进制)和标记位结构(structures with optional fields)的技巧来让文件跟小。
SWF文件基本数据类型SWF文件基本数据类型SWF文件基本数据类型Basic Data Typesswf文件里面有很多复杂的数据类型,但是这些复杂的数据类型都是由一些基本的数据类型组成的。
一、坐标和缇swf文件格式用整数来存储坐标,它的单位默认的是缇(twip),20 twip=1 pixel。
这点和VB是类似的。
在没有缩放的情况下,就是100%播放时,swf中的一个逻辑像素和屏幕上的一个像素是对应的。
使用缇的好处就是能够获得比使用像素更高的精度。
比如,一个800twips宽,400twips高的矩形,就会被解释成40×20像素的大小,这时矩形的边缘是没有锯齿的。
如果是790×390twips的话,它的就会有轻微的模糊边缘。
在swf的坐标系里面,它采用的是传统的图像的坐标,x轴是水平方向,并且是从左到右值是增大的;y轴是垂直方向的,并且从下到上是增加的。
二、整数类型和位顺序swf文件中使用的8位、16位、32位、64位有符号和无符号的整数。
这些整数在swf文件中是以little-endian的顺序来存储的,而每个字节的每一位则是按big-endian的顺序来排列的。
比如一个32位的整数:0x456e7120它在文件中就是以20 71 6e 45的格式存储的,这种方式就称为little-endian,而其中每个字节的每一位则是按big-endian的形式来存储的。
little-endian主要用在我们现在的PC的CPU中,big-endian则应用在目前的Mac机器中(是指Power系列处理器)。
并且在swf文件中,所有整数必须是位齐的。
三、定点数swf文件格式支持两种类型的定点数:32位定点数和16位定点数。
32位定点数的格式是16.16格式的,小数点前面和小数点后面的每一部分各占2个字节。
并且也是采用了little-endian的形式。
比如一个32位的浮点数:7.5=0x0007.8000在文件中就是以00 80 07 00的形式存储的。
flash 逻辑单元结构
Flash的逻辑单元结构主要由以下几个部分组成:
1. 逻辑块:这是对物理块的逻辑划分,可以将逻辑块视为一个虚拟地址空间,每个逻辑块的大小可以根据需求进行设定。
2. 逻辑页:这是最小可读写的单位,允许对单个页进行读和写操作。
3. 顺序:这是顺序存储的最基本单元,它是连续可读写的一组页。
顺序的大小一般为64或128个页,也就是256KB或512KB。
此外,Flash内存的物理存储结构包括芯片、块、页和顺序。
其中,Flash
芯片是Flash存储结构的最基本单元,每个芯片包含多个块。
块是最小可擦写的单位,典型情况下一块的大小为64KB。
块又由多个页组成,一般为
2KB或4KB。
以上内容仅供参考,可以访问IT论坛或科技网站获取更多专业信息,也可
以请教相关专家,以获取最准确的信息。
FLASH动画制作
一、引言
二、设计思想
三、系统分析
FLASH动画及FLASH动画类型的确定(展示型/交互设计型)
背景音乐、音效的确定
预期的设计效果
预期的设计效果(用图)
制作流程(用框图)
四、详细设计
1、整体风格的设计(创意、用色、色调、色彩、节奏、主要
画面的页面布局等,整体视觉感受或形成的视觉冲击)
2、结构的设计
整个动画包括那几个部分,每个部分又包括那些元件(用结
构图)
3、场景的设计
4、具体元件的设计(影片剪辑、按钮、图符——举例说明其
用色、构图或动作安排等)
5、添加的特殊声光效果
五、动画集成(从图层安排到帧长的确定——时间轴)
六、制作工具及主要的制作技术
七、测试与评价(特色与不足)
八、总结。