毕业论文格式样版.doc_第1页
毕业论文格式样版.doc_第2页
毕业论文格式样版.doc_第3页
毕业论文格式样版.doc_第4页
毕业论文格式样版.doc_第5页
已阅读5页,还剩9页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

晋 中 学 院 本科毕业论文(设计)题 目 三维造型中纸扇的设计与动画控制院 系 计算机科学与技术学院 专 业 计算机科学与技术 姓 名 王一 学 号 0612118200 学习年限 2006年09月至2010年07月 指导教师 常文萃 职称 副教授 申请学位 理学 学士学位 2010年 05月 20 日三维造型中纸扇的设计与动画控制学生姓名:王一指导教师:常文萃(此处行距1.25)摘 要: Flash可以通过广泛使用矢量图使文件很小,因为它是以数学公式而不是大型数据集来表示。而位图图像中的每个像素都需要一组单独的数据来表示,所以位图图形很大。本文着重介绍了Flash的位图动画的设计方案,在Flash中利用ActionScript3脚本语言控制和实现三维造型,巧妙的利用数组和数学公式对其进行加工处理,利用多次循环和一些类的属性和方法来实现。分析基于Flash位图动画的技术基础和软、硬件环境要求,详细论述了纸扇和礼花的设计过程和实现方法,并通过开发实例阐述了面向对象的程序设计语言Flash Action Script在位图设计中的应用。本设计可以使用户通过鼠标实现控制礼花的播放位置等功能。(空一行)关键词:Flash;位图;ActionScriptThe design and realization of based on FlashAuthors Name:Cheng Xuna Tutor:Chang WencuiABSTRACT: This paper mainly introduced the design of shooting games, by analyzing the technology basis and the environmental requirements of hardware and software, elaborating in detail the designing process and the implementation method of shooting games. And through the development of examples, an expanded elaboration of the application of object-oriented programming language, Flash Action Script, was made. This design got through the keyboard to the user can control our aircraft movement, fire bullets, hit the enemy, make explosions and other functions. The article elaborated the design idea and the implementation method of three very important files of classes. (空一行)KEYWORDS:flash;bitmap;AactionScript目 录引言11系统概述21.1问题描述21.2需求分析21.3设计工具的选择Flash ActionScript22总体设计32.1设计思路42.2功能模块划分52.3重要事件及知识点53详细设计63.1纸扇的设计63.2礼花的形成和控制84测试与调试94.1测试目的94.2问题解决94.3性能分析9结束语10致谢10参考文献10引言随着计算机软件和编程技术的发展,动画编程也迅速地发展起来。动画编程是为不擅长美工的设计者提供一个做出漂亮动画的途径;ActionScript3动画编程很复杂,是一个专业的、博大精深的领域。广泛地涵盖各个领域的知识,比如数学建模、物理学、三维动画等。由于自己对三维动画的兴趣,我选取了三维造型中纸扇的设计与动画控制。这类三维造型最基本的原理是代码绘制,是指每帧动画代码中用代码(矢量图绘制API或位图)绘制稍稍不同的图形,从而产生动画效果。基于 Flash主要用于设计Flash动画,以及所生成的文件体积小、传输快、画面生动、可交互性特点,我选取这一软件作为开发平台。最近发布的flashCS4版本更是支持面向对象的程序设计,内嵌了一系列的类包,提供了更加强大的功能调用。本设计在开发过程中,使用了Adobe的Flash ActionScript 3.0。本文共分五部分,主要介绍软件开发过程中所做的功能模块的分解、详细设计与测试调试过程。设计代码在Window XP操作系统下的Flash CS4环境中测试通过。1系统概述1.1问题描述软件主要实现三维造型中纸扇的设计和动画控制,在这过程中可用鼠标控制礼花的播放位置,并伴随声音的播放和背景颜色的变化,模拟真实播放礼花的效果;纸扇的设计要形成立体的瓦折和阴影,使图片形成弧度打开合起,并配上扇骨形成一个完整动态的画面。1.2需求分析在这个纸扇的设计中,设计对象(纸扇)的形成需要几个不同的部分:贴图、形成瓦折、画扇骨和扇骨上的铆钉、折扇的打开收起。礼花的播放是通过鼠标监听事件确定礼花播放的位置,随机产生不同的颜色渐变填充并变换背景颜色,礼花先以圆形往外散开然后下垂。1.3设计工具的选择Flash ActionScriptFlash是一款平面动画设计软件,以所生成的文件体积小、传输快、画面生动、可交互性特点而广泛应用于网页开发、游戏设计、多媒体制作等领域。ActionScript程序由嵌入在Flash Player中的ActionScript虚拟机(AVM)执行。ActionScript 3.0使用高效率的ActionScript执行虚拟机AVM2,它将彻底摆脱之前版本使用的AVM1的局限。AVM2的执行效率比以前高出至少10倍。Action Script交互性脚本语言为Flash提供了自定义函数及强大的数学函数、颜色、声音、XML对象的支持,使Flash中的Action Script脚本能够制作高质量的动画效果和互动性强的动态网页。它与C+语言相似,具有面向对象的程序设计的特点抽象性、封装性、继承性和多态性等。因此我们读起来相对比较容易。ActionScript 3.0最本质的东西就是类,也就是说它是面向对象的。Action Script 3.0在面向对象基础上重新构建了Action Script核心。在Action Script 3.0中,类是最基本的编程结构,所有的类都必须放在.as文件中,每个as文件里只能定义一个public类。包(package)是用来组织一群相关的类文件的。它是根据类所在的目录路径所构成的,并可以嵌套多层。包名所指的是一个真正存在的文件夹,用“.”进行分隔。在ActionScript 3.0中,所有代码都不是写在时间轴上的,那么他们一开始都要继承自MovieClip或Sprite。MovieClip类是影片剪辑对象属性和方法的ActionScript模板。因此要先把它的类导进来:import flash.display.Sprite;或import flash.display.MovieClip。使用组合的类需要遍历所有后面类的公共接口。也就是说,它们强化了封装性,后面使用的类实现上的更改不会破坏正在使用的类。只要接口保持一致,类的使用就不会被破坏。视觉编程可以说是Flash的发家之本,也是ActionScript早期版本最关注的方面。ActionScript3不但继承了其先辈们的优点,还对视觉显示做了更加透彻的分析、抽象和设计,进行了大刀阔斧的革新。现在的ActionScript3视觉编程架构更加标准、更加规范、更加易于理解和掌握。ActionScript3视觉编程架构与其他语言相比有自己强烈的特色,也是对Flash贴身定做的结果。鉴于以上Flash ActionScript3.0特点,我认为此开发工具可行。2总体设计本设计是一个集纸扇的绘制、打开、合起、礼花的绘制、播放控制于一体的软件。在这个影片中包含了5个窗口元件、18张图片和一个声音,所有的代码都写在脚本文件中。主要实现的功能有:1、 显示我的作品名字和个人信息。2、 触击键盘实现礼花播放。如图2-1所示。 3、 纸扇的打开和收起。如图2-2所示。图2-1 礼花的播放图2-2 纸扇的打开合起2.1设计思路在整个设计制作阶段,本着各个功能模块单独设计的原则进行,这样才能花更多的注意力把各个模块设计好,然后再整合,达到一个结构清晰、功能健全的设计。在界面部分,影片包括5个元件,1个音频文件和18个位图。如2-3所示。图2-3 库面板中元件列表2.2功能模块划分整个影片包括礼花和纸扇两个大的模块,礼花又分为制作和播放,纸扇又分为形成瓦折、画扇骨铆钉、贴图和帧频播放等模块,各个功能模块之间的关系如图2-4所示。鼠标侦听事件(f1)第一页(index)礼花(sp1)纸扇(sp)lihualiziFramemeframeframefan瓦折扇骨铆钉贴图图图2-7 各模块关系示意图除了这些大的模块外,还有一些小的模块,比如:礼花播放瞬间背景颜色变化模块,纸扇瓦折处阴影的形成模块等。2.3重要事件及知识点本软件主要的事件是鼠标侦听事件和帧频事件,重要的知识点是位图和容器的相关知识。(1)与鼠标交互所发出的事件是鼠标事件对象,属于MouseEvent类。鼠标事件共有10种,本设计中用到了最常用的按键状态事件,即MouseEvent.MOUSE_DOWN。(2)在ActionScript3中,由于每次屏幕更新时,都会发出Event.ENTER_FRAME事件,因此会调用到侦听器函数,从而实现调用动画代码。侦听这类事件的系统资源的消耗是比较大的,一旦不需要动画,要及时移除。(3)位图就是以无数的色彩点组成的图案,一般用于照片品质的图像处理。当位图放大很多倍时,就会看到一块一块的像素块,效果会失真。ActionScript3中的Bitmap类对象代表了位图。而位图所有的像素信息,存储在BitmapData对象中。(4)容器,可以放入其他的东西,也可以放入容器。Sprite类是最轻量的容器,不需要时间轴的支持,自定义容器类大多数情况下都是继承自Sprite类。3详细设计本游戏的制作过程,首先创建毕业设计作品.fla文档,绘制所需要的影片剪辑,比如第一页元件,然后导入折扇图片、背景图片和声音文件。然后逐个设计功能模块,之后组合。3.1纸扇的设计3.1.1形成瓦折瓦折的形成,用到了三维的知识,是通过mc.z=i%2*10-5修改三维中的z坐标。在Flash里的坐标与数学中的坐标不一样,具体如图3-1、3-2、3-3所示。X坐标Y坐标图3-1 Flash中的二维坐标X坐标Y坐标原点(0,0)原点(0,0)图3-2数学上的二维坐标系X坐标Y坐标Z坐标原点(0,0)图3-3 Flash中的三维坐标3.1.2画扇骨扇叶总共33片,扇骨是偶数画奇数不画,用判断语句i%2=0判定奇偶。最左和最右的扇骨要画的粗一些,分别用i=0和i=int(num/2)*2判断最左边和最右边的两片。mc1.graphics.drawRect(-20,-3,80,6)表示画矩形,80表示长度,6表示宽度,当我们把80改成40会变成3-4所示,把6改成15会变成如图3-5所示。图3-4 80改成40效果图3-5 6改成15效果3.1.3画铆钉铆钉的绘制只需画一个圆,填充上黑色,选好合适的半径就可以。如果我们把半径改为8时,会出现如3-6图的效果。图3-6 半径改为8的效果3.2礼花的形成和控制通过sp1.x=mouseX;sp1.y=mouseY;鼠标的点击位置可以确定礼花开始的位置。礼花的颜色应该是随机的,var sp1:Sprite=lihua(Math.random()*0xffffff);可以实现随机颜色的效果。函数Math.random()产生0到1之间的随机数,乘以全色0xffffff可以随机产生任何一个颜色。当礼花开始播放的瞬间,背景颜色应该发生相应的变化,我们要用代码设置背景光。礼花的颜色应该是渐变的,所以我们应该选择颜色的渐变填充,并且礼花的半径要合适,下边这两句话可以实现这两个功能:lizi.graphics.beginGradientFill(radial,0xffffff,color,1,1,1,2); lizi.graphics.drawCircle(0,0,1);当我们把半径1改为5时,礼花会出现图3-7的效果。图3-7 半径改为5的效果礼花播放的时候是先以一个圆形散开,在半径散到50的时候,礼花的位置要下垂,也就是纵坐标要加速增加,并且礼花的透明度要递减,直至消失,下边的代码可以实现这个效果:function liziFrame(e:Event) var lizi0=e.target;lizi0.i+;lizi0.x+=lizi0.vx;if (lizi0.i50) lizi0.y+=lizi0.vy; else lizi0.y+=lizi0.vy+0.005*lizi0.i;lizi0.alpha-=0.005;if (lizi0.alpha=0) lizi0.removeEventListener(Event.ENTER_FRAME,liziFrame);lizi0.parent.removeChild(lizi0);4测试与调试4.1测试目的打开主影片文件毕业论文作品.fla,然后按Ctrl+Enter键测试影片。测试目的为:1.验证所写的代码是否正确。2.验证各个功能是否都能够正确无误的运行,播放画面是否流畅。4.2问题解决在测试与调试过程中,遇到了很多问题。如:n 在礼花和纸扇这两个模块合二为一的时候,出现的命名重复的问题。为解决这个问题,我把纸扇中的Arr改为Arr0,等等。n 在软件设计初期,我只是希望把两个大的模块整合。在制作后期,觉得加上个第一页更完整,因此加了一个第一页的元件,使整个作品更完整。当软件播放的时候,先播出软件的题目和我的基本信息。4.3性能分析该软件功能很简单,画面很漂亮,但是也存在着形式比较单一,制作比较简单的缺点。结束语在本动画设计制作过程中,由于本人是初次制作,在知识和经验方面都存在着不足,因此存在着很多方面的缺陷。因为以前只有粗略学过这方面的知识,对ActionScript3视觉编程不熟练,因而做出来的效果不是很完美。在理论和实践的结合下,我设计出了基于Flash的编程动画礼花和纸扇。与其他三维动画不同之处在于,它是用ActionScript 3.0编写的,不是美工作品,所以它适用于没有美术功底的设计者。通过对三维造型中的纸扇设计与动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论