FLASH-MTV-动画制作-毕业论文_第1页
FLASH-MTV-动画制作-毕业论文_第2页
FLASH-MTV-动画制作-毕业论文_第3页
FLASH-MTV-动画制作-毕业论文_第4页
FLASH-MTV-动画制作-毕业论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、题 目 FLASH MTV 动画制作 一、设计(论文)内容Flash MTV 动画制作 二、基本要求通过 Macromedia Flash 8 等软件,结合自己的专业知识,制作并完成一系列的MTV设计,有一定的独到的创新意识,MTV主题明确,寓意深刻,健康向上,有内涵,每一部MTV,结构完整,利用其他辅助软件如:PhotoShop 画图工具。三、主要技术指标(或研究方法)通过使用Flash图形的创建、图形编辑、文本操作、创建动画、合成声音的强大功能来制作MTV,并合理地安排将素材有机地组织在一起,并应用MTV的一定形式,给MTV赋予一定的意义,引导人们朝MTV要表达的方面想,起到教育鞭策的作用

2、,使之表现突出、新颖、富有吸引力,并用良好的界面来进行展示。 通过photoshop软件对图片处理,通过使用图层编辑、文字处理、色彩调整、滤镜特效,完成对图片的处理。四、应收集的资料及参考文献通过 网站搜索一些自己所需要的图片素材、背景音乐等。另外在实习过程中以中文版MX 2004中文版 动画制作实战指南课本为主,以课外参考书中文版 flash mx 2004 创意展示与经典案例为辅助来完成实习作品的制作。五、进度计划1、2011.5.102011.5.15选题及图片资料的查阅,2、2011.5.162011.5.20完成总体结构的安排。3、2011.5.212011.6.5进行素材的配置,M

3、TV的制作,完成 Flash MTV作品。4、2011.6.62011.6.17进行毕业论文的输入与改写,对论文的要求与格式进行核对和检测,以便达到最佳效果。摘要Flash 是一种创作工具,设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。Flash 可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容。通常,使用 Flash 创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的 Flash 应用程序。Flash 特别适用于创建通过 Internet 提供的内容,因为它的

4、文件非常小。Flash 是通过广泛使用矢量图形做到这一点的。位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。 在视听语言统治的时代,任何一种叙述方式都逃脱不了MTV的影响,Flash自然也不例外。在同桌的你中借鉴了大量的影视手法表现我想要表现的主题和想要传达的情感。利用渐隐渐显、叠化、不同景别的组合,结合我的构思,使得这个MTV表现的更生动,丰富。本设计是用FLASH MX多媒体制作软件制作的一个简单的MTV,其主要有两部分组成,即动画和音频两部分。FLASH MTV与传统的

5、MTV有所不同,其不同之处就是在听到优美音乐的同时,还可以给人一种视觉上的新感受。关键词:FLASH,动画,MTVABSTRACTFlash is an authoring tool, designers and developers can use it to create presentations, applications and other content to allow user interaction. Flash can include simple animations, video content, complex presentations, applications,

6、 and anything in between. Typically, all content created using Flash as an application unit, even though they may be just a simple animation. You can also add pictures, sound, video and special effects, build media-rich Flash applications.Flash particularlysuitable for creating the contentava ilable

7、 via the intrnetbecauseits files are verys mall.Flash is amapthrough theextensive use of the missingamountto do, bitmapsare largerbecauseach pixel of the image needsa separate setof.In the era of rule by audio visual language, any kind of narrative have run away MTVImpact,is no exception, in the sam

8、e table for you to learn from the way a lot of voideo perform nce of my emotions.using a variety of fade transitions,scenes and my ideas,so that the whole MTV show more vivid and rich.This design is to use FL ASH MX multimedia software made of a simple MTV, it has two parts, namely animation and au

9、of rdio in two parts. FLASH MTV MTV is different from the traditional, the difference is that while listening to beautiful music, but also gives people a new visual experience.Key words: FLASH, animation, MTV目 录 TOC o 1-3 h z u HYPERLINK l _Toc297540601 第一章 绪论 PAGEREF _Toc297540601 h 6 HYPERLINK l _

10、Toc297540602 1.1 引言 PAGEREF _Toc297540602 h 6 HYPERLINK l _Toc297540603 1.2 flash相关概念阐述 PAGEREF _Toc297540603 h 6 HYPERLINK l _Toc297540604 1.2.1 什么是flash动画 PAGEREF _Toc297540604 h 6 HYPERLINK l _Toc297540605 1.3 flash在当今社会中的应用 PAGEREF _Toc297540605 h 7 HYPERLINK l _Toc297540606 3.1 flash在动态网页中的作用 P

11、AGEREF _Toc297540606 h 7 HYPERLINK l _Toc297540607 1.4 flash动画的概念 PAGEREF _Toc297540607 h 7 HYPERLINK l _Toc297540608 1.4.1 什么是动画与动画设计 PAGEREF _Toc297540608 h 7 HYPERLINK l _Toc297540609 1.4.2 什么是动画片中的动画 PAGEREF _Toc297540609 h 7 HYPERLINK l _Toc297540610 1.4.3 动画绘制时需要的一些工具 PAGEREF _Toc297540610 h 8

12、 HYPERLINK l _Toc297540611 1.4.4 flash动画影片制作的步骤 PAGEREF _Toc297540611 h 8 HYPERLINK l _Toc297540612 1.4.5总结flash动画的根本 PAGEREF _Toc297540612 h 8 HYPERLINK l _Toc297540613 第2章 总体架构 PAGEREF _Toc297540613 h 9 HYPERLINK l _Toc297540614 2.1 项目规划 PAGEREF _Toc297540614 h 9 HYPERLINK l _Toc297540615 2.2.选题的意

13、义 PAGEREF _Toc297540615 h 10 HYPERLINK l _Toc297540616 第3章 系统设计 PAGEREF _Toc297540616 h 11 HYPERLINK l _Toc297540617 3.1动画制作 PAGEREF _Toc297540617 h 11 HYPERLINK l _Toc297540618 3.1.1 制作片头动画 PAGEREF _Toc297540618 h 11 HYPERLINK l _Toc297540619 3.1.2 制作片中动画(歌词部分动画) PAGEREF _Toc297540619 h 12 HYPERLIN

14、K l _Toc297540620 3.1.3制作片尾动画 PAGEREF _Toc297540620 h 16 HYPERLINK l _Toc297540621 3.2音频 PAGEREF _Toc297540621 h 17 HYPERLINK l _Toc297540622 总结 PAGEREF _Toc297540622 h 18 HYPERLINK l _Toc297540623 致谢 PAGEREF _Toc297540623 h 19 HYPERLINK l _Toc297540624 参考文献 PAGEREF _Toc297540624 h 20第一章 绪论1.1 引言FLA

15、SH是由美国Macromedia公司出品的用于矢量图编辑和动画创作的专业软件。FLASH软件主要用于动画制作,使用该软件可以制作出网页交互式动画,还可以将一个较大的交互式动画。FLASH还被广泛用于多媒体领域,如交互式软件开发、产品展示等多个方面。随着FLASH的广泛使用,出现了许多完全使用FLASH制作的多媒体作品。由于FLASH具有支持交互、文件体积小、效果棒等特性,并且不需要媒体播放器之类软件的支持,因此这样的多媒体作品取得了很好的效果,应用范围不断扩大。FLASH是一个优秀的矢量绘图与动画制作软件,它秉承了矢量绘图软件的所有优点,能制作出声色俱佳的动画效果。强大的动画编辑功能使得设计者

16、可以随心所欲地设计出高品质的动画,PHOTOSHOP图片的色彩更加靓丽,使Flash具有更大的设计空间。现在很多网站很流行Flash MTV,它就是利用Flash 软件制作出来的MTV,因其具有动画的特点,又配有歌曲,文件较小,上传下载快,在网络上深受人们的喜爱和欢迎。作为毕业设计,我们使用Flash 工具,为歌曲同桌的你定制作了一部MTV ,该歌曲源于戨手高晓峰的创作。本设计主要是用flash MX多媒体制作软件制作的一个简单的MTV,其主要有两部分组成,即动画和音频两部分。利用这种多媒体软件来制作MTV。用Flash软件做出的动画作品,其最大的特点是它能够把一些矢量图、位图和歌词、文字做成

17、交互性很强的动画,不仅具有视觉和听觉的双重感受,使其更具有趣味性和创造性。1.2 flash相关概念阐述1.2.1 什么是flash动画动画是将静止的画面变为动态的艺术实现由静止到动态,主要是靠人眼的视觉残留效应利用人的这种视觉生理特性可制作出具有高度想象力和表现力的动画影片。动画以人类视觉的原理为基础。 如果快速查看一系列相关的静态图像,那么我们会感觉到这是一个连续的运动。 每一个单独图像称之为帧。帧是动画电影中的单个图像。1.3 flash在当今社会中的应用3.1 flash在动态网页中的作用Flash是MacroMedia公司专为网络应用设计的一个交互性矢量动画设计软件。网站设计者可以使

18、用Flash为网站设计各种动态Logo动画、导航条以及全屏动画,还可以加入动感音乐,完全具备多媒体的各项功能。Flash以其体积短小,流体播放的特点迅速打开市场,将WWW上的站点页面设计带上了一个全新的高度。实现Web数据库的应用一般有两种方法:一种是Web服务器端提供中间件,连接Web服务器与数据库服务器;另一种是把应用程序下载到客户端直接访问数据库。最常用的中间件技术有通用网关接口(CGI)和应用程序编程接口(API)两种。CGI程序存在效率低、速度慢等缺点;而API很大程度上克服了CGI的缺点,但其兼容性差,开发难度大也让许多开发人员望而却步。客户端访问数据库主要包括JavaScript

19、和数据库连接器(IDC)等。用JavaScript和IDC开发Web数据库虽然简单,但也存在功能有限、不能完全控制其过程等缺点,所以它们也无法胜任较复杂的Web数据库的开发。微软推出的ASP方案很好地解决了这些难题。ASP(Active Server Page)是Microsoft公司推出的一种基于服务器端的脚本编程语言,它很容易和数据库连接。Flash与ASP的组合使网页功能更加强大,可以通过它们和数据库连接,能使我们的网站不仅具有强大的数据支持而且具有完美的交互界面。1.4 flash动画的概念1.4.1 什么是动画与动画设计动画与动画设计(即原画)是不同的概念,原画设计是动画影片的基础工

20、作原画设计的每一镜头的角色、动作、表情,相当於影片中的演员所不同的是设计者不是将演员的形体动作直接拍摄到胶片上,而是通过设计者的画笔来塑造各类角色的形象并赋予他们生命、性格和感情。1.4.2 什么是动画片中的动画 动画片中的动画一般也称为中间画这是指两张原画的中间过程而言的动画片动作的流畅、生动,关键要靠中间画的完善一般先由原画设计者绘制出原画,然后动画设计者根据原画规定的动作要求以及帧数绘制中间画原画设计者与动画设计者必须有良好的配合才能顺利完成动画片的制作。 1.4.3 动画绘制时需要的一些工具动画绘制需要的工具一般有:拷贝箱工作台、定位器、铅笔、橡皮、颜料、曲线尺等方法是:按原画顺序将前

21、后两张画面套在定位器上,然后再覆盖一张同样规格的动画纸,通过台下拷贝箱的灯光,在两张原画动作之间先画出第一张中间画(称为第一动画),然后再将第一动画与第一张原画叠起来套在定位器上,覆盖另一张空白动画纸画出第二动画依此方法,绘制出两张原画之间的全部动作。1.4.4 flash动画影片制作的步骤1、由编导(可以是你自己)确定动画剧本及分镜头脚本;2、美术动画设计人员设计出动画人物形象;3、美术动画设计人员绘制、编排出分镜头画面脚本;4、动画绘制人员进行绘制;5、导入到flash进行制作;6、剪辑配音。在分镜头画面脚本绘制过程中,应养成填表的好习惯,在表格中注明画面的景别,画面景别使用的专业术语有:

22、大特写、特写、近景、中景、全景、远景、全远景、纵深景等。画面 镜头号 景别 秒数 内容摘要 对白 效果 音乐1.4.5总结flash动画的根本Flash动画说到底就是“遮罩+补间动画+逐帧动画”与元件(主要是影片剪辑)的混合物,通过这些元素的不同组合,从而可以创建千变万化的效果。三大基本功能之外的延伸Flash动画的三大基本功能是一切Flash动画应用的基础。但现在Flash已经是一个非常强大的平台,他是一个富媒体环境。在Flash 4时他加入了MP3声音的支持,Flash 3及以前的版本对音频支持是很匮乏的,从那个时候起你可以设计多媒体的Flash动画了。在Flash 6时他加入了视频的支持

23、,Flash 5及以前的版本不支持视频(不包括链接的Quicktime),这时,你可以嵌入视频,也可以播放外部的Flv格式的视频。甚至,你还可以捕做到来自麦克风和摄像头的实时音频和视频。虽然Flash 4以前的版本中也有简洁的脚本代码,但应该不算有严格意义上的Actionscript,充其量只能算是Action,因为他仅有简单的几条语句,连加减乘除运算符都没有。增强的图形处理功能目前Flash对位图的处理功能还比较弱,因为它最初是从矢量处理起始的,加之矢量图形是Flash GUI设计之基石,所以估计还会沿着矢量处理的道路继续前进。不过最近的滤镜和图像混合模式也向位图处理领域迈出一大步。相信未来

24、会有更多更好的这方面的功能加进来。Flash的功能可能越来越复杂,如何系统地掌握这项技术就显得非常重要。系统地掌握一门技术有两个好处:一个是对目前的功能有清晰的认识;第二,就是能够从容应对更复杂的知识。第2章 总体架构2.1 项目规划运用flash 制作MTV是一个非常新颖的项目,给人以视觉上的全新感受,规划系统功能模块如下:动画模块该模块主要制作MTV所需要的动画场景。片头动画主要是告诉观众本MTV歌曲的信息。片中动画主要是表现歌曲所要表达的含义。片尾动画标明本MTV的制作目的。音频模块该模块主要是插入MTV的灵魂歌曲。流程图如图1所示:总体架构总体架构音频模块动画模块音频模块动画模块片头动

25、画片中动画片尾动画片头动画片中动画片尾动画图2-12.2.选题的意义转眼间两年过去,我马上就要离开母校了,不知不觉有了一种舍不得的感觉。舍不得敬爱的老师,舍不得可爱的同学,他们时时刻刻给我快乐,遇到困难时他们给我帮助,灰心时给我鼓励,悲伤时给我安慰在这个班级里,我留下了快乐与悲伤,留下了欢笑和泪水。但这一切,都是我离开母校之后的美好回忆。我会记住欢笑与快乐,忘记悲伤与泪水,让大学生活在我的心中是个美好的。特做此动画献给08计算机班的班同学第3章 系统设计 3.1动画制作3.1.1 制作片头动画片头是整个MTV的开始,它显示了歌曲名称和制作者。1)片头1的制作效果主要是使用“文字的逐个淡入” 和

26、“逐帧动画”来实现的,如图3-1所示: 图 3-1片头1的动画场景如图3-2所示:图 3-23.1.2 制作片中动画(歌词部分动画)片中动画是整个设计的表现主体,是从视觉上感受所要表现的意义与主题。(本部分就不一一列举每句歌词的动画制作了,简要的举几个例子)1)“开场独白。”的动画场景如图3-3所示:图 3-3其制作主要是使用“大雪缤纷”和“补间动画”来实现的,如图3-4、图3-5所示:图 3-4图 3-52)“我也是偶然翻相片” 的动画场景如图3-6、图3-7所示:图 3-6图 3-7其制作主要是使用 任意变形工具和“补间动画”来实现的,如图3-8、图3-9所示:图 3-8 图 3-93)“

27、谁看了我写给你的信,谁把他丢在风里”的制作主要是使用“逐帧动画”和“补间动画”以及“引导动画“来实现的,如图3-10所示: 图3-10其动画场景如图3-11所示: 图 3-11 3.1.3制作片尾动画片尾动画标明本MTV的制作目的,如图3-12、图3-13所示:图 3-12图 3-13其制作主要是使用“遮罩层” 和“补间动画”来实现的,如图 3-14所示:图3-143.2音频其目的是将其导入的歌曲放置到时间轴上并播放,如图3-15所示:图 3-15制作过程:一、将声音导入到库中单击【文件】【导入】菜单命令,打开“导入”对话框,选择要导入的声音文件。从中选取想要导入的声音文件后,单击【打开】按钮

28、。导入的声音会自动加载到库中。二、再给动画添加声音1单击【插入】【图层】,在时间轴中为声音加入一个新的图层,以放置声音。2.选择一个图层名双击,改名为“歌曲”便于日后的管理。3.选择“歌曲”图层,将声音从库中直接推动到场景中,并在第2780击鼠标左键,按【F6】键插入关键侦。这时就看到声音波形图。三、设置声音同步。1.单击声音所在图层的关键侦。2.在“属性”面板的“同步”中设置声音播放的方式。3.最后在“循环”文本框中输入声音循环的次数。总结通过这一个月的实习,我对FLASH MX软件有了更深一步的了解。开拓了眼界,加深了认识,使我知道FLASH不但可以在视觉上给人一种全新享受外,还可以在享受

29、全新的视觉的同时,还可以听到优美的音乐。总之,通过这次FLASH的实习,使我深深地感觉到了自己在专业认识上的欠缺和不足,自己的很多地方都急需挖掘和深化,今后我一定注重培养自己的审美情操,加强审美观的培养,多加开拓自己的视野,使自己的创新意识不断的得到加强,对FLASH更是要继续不断的深化学习。FLASH是一个功能强大的动画创作工具,仅仅掌握一些表面知识是远远不够的,只有在实践中不断探索和总结,并且不断激发自己的想像力和创意,才能逐步提高自己的创作水平,进而制作优秀的作品。通过实习我不仅领会了基本的思考方式,掌握了很多的通用方法,而且还明白了许多道理。这次作品的完成是由我和我的指导老师共同完成的

30、,这就需要很多人的共同努力, 发挥各自的优势,发挥丰富的想象力与创新意识. 在设计过程中我们相互讨论,相互弥补不足,这样不仅增强了我们的个人能力,而且使我们认识到团队精神的重要性,为我们以后进入公司工作培养这种精神打下良好的基础。参考文献1.刘旭东中文版MX 2004中文版 动画制作实战指南上海科学普及出版社2.张永穆、肖卫中 中文版 flash mx 2004 创意展示与经典案例航空工业出版社3.殷虹 郝琨 刘东 刘卉FLASH 动画制作(MX 2004中文版)中国铁道出版社4.崔兰耀 FLASH MX 2004闪客动画设计精粹 上海科学出版社5.杨选辉 网页设计与制作教程(第2版) 清华大

31、学出版社6.黄冈 于林Macromedia Flash MX标准教程北京希望电子出版社7. 李广振计算机二维动画制作中央广播电视大学出版社 8. 关晓娟FLASH专家案例课堂科学出版社9 .闪客帝国 HYPERLINK 10.闪吧 HYPERLINK 11 闪兔吧 HYPERLINK 12.天极网 HYPERLINK 附录资料:不需要的可以自行删除 perl函数应用一、进程处理函数1、进程启动函数函数名eval调用语法eval(string)解说将string看作Perl语句执行。正确执行后,系统变量$为空串,如果有错误,$中为错误信息。例子$print = print (hello,worl

32、dn);eval ($print);结果输出hello, world函数名system调用语法system(list)解说list中第一个元素为程序名,其余为参数。system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。例子proglist = (echo, hello,world!);system(proglist);结果输出hello, world!函数名fork调用语法procid = fork();解说创建程序的两个拷贝-父进程和子进程-同时运行。子进程返回零,父进程返回非零值,此值为子程序的进程ID号。例子$retval = fork();if ($ret

33、val = 0) # this is the child process exit; # this terminates the child process else # this is the parent process结果输出无函数名pipe调用语法pipe (infile, outfile);解说与fork合用,给父进程和子进程提供通信的方式。送到outfile文件变量的信息可以通过infile文件变量读取。步骤:1、调用pipe2、用fork将程序分成父进程和子进程3、一个进程关掉infile,另一个关掉outfile例子pipe (INPUT, OUTPUT);$retval =

34、fork();if ($retval != 0) # this is the parent process close (INPUT); print (Enter a line of input:n); $line = ; print OUTPUT ($line); else # this is the child process close (OUTPUT); $line = ; print ($line); exit (0);结果输出$programEnter a line of input:Here is a test lineHere is a test line$函数名exec调用语

35、法exec (list);解说与system类似,区别是启动新进程前结束当前程序。常与fork合用,当fork分成两个进程后,子进程用exec启动另一个程序。例子 结果输出函数名syscall调用语法syscall (list);解说调用系统函数,list第一个元素是系统调用名,其余为参数。如果参数是数字,就转化成C的整型数(type int)。否则传递字符串的指针。详见UNIX的帮助或Perl文档。使用syscall必须包含文件syscall.pl,即:require (syscall.ph); 例子结果输出2、进程终止函数函数名Die调用语法die (message);解说终止程序并向ST

36、DERR输出错误信息。message可以为字符串或列表。如果最后一个参数不包含换行符,则程序文件名和行号也被输出。例子die (Cannot open input file);结果输出Cannot open input file at myprog line 6.函数名warn调用语法warn (message);解说与die类似,区别是不终止程序。例子warn(Danger! Danger!n);结果输出Danger! Danger!函数名exit调用语法exit (retcode);解说终止程序并指定返回值。例子exit(2);结果输出无函数名kill调用语法kill (signal, p

37、roclist);解说给一组进程发送信号。signal是发送的数字信号,9为杀掉进程。proclist是进程ID列表。详见kill的UNIX帮助。例子结果输出3、进程控制函数函数名sleep调用语法sleep (time);解说将程序暂停一段时间。time是停止的秒数。返回值为实际停止的秒数。例子sleep (5);结果输出无函数名wait调用语法procid = wait();解说暂停程序执行,等待子进程终止。不需要参数,返回值为子进程ID,如果没有子进程,返回-1。例子结果输出函数名waitpid调用语法waitpid (procid, waitflag);解说暂停程序执行,等待特定的子进

38、程终止。procid为等待的进程ID例子$procid = fork();if ($procid = 0) # this is the child process print (this line is printed firstn); exit(0); else # this is the parent process waitpid ($procid, 0); print (this line is printed lastn);结果输出$ programthis line is printed firstthis line is printed last$4、其它控制函数函数名calle

39、r调用语法subinfo = caller();解说返回调用者的程序名和行号,用于Perl Debugger。返回值为三元素的列表:1、调用处的包名2、调用者文件名3、调用处的行号例子结果输出函数名chroot调用语法chroot (dir);解说改变程序的根目录,详见chroot帮助。例子结果输出函数名local调用语法local($variable);解说在语句块(由大括号包围的语句集合)中定义局域变量,仅在此语句块中起作用,对其的改变不对块外同名变量造成影响。千万不要在循环中使用,否则每次循环都定义一个新的局域变量!例子结果输出函数名times调用语法timelist = times解说

40、返回该程序及所有子进程消耗的工作时间。返回值为四个浮点数的列表:1、程序耗用的用户时间2、程序耗用的系统时间3、子进程耗用的用户时间4、子进程耗用的系统时间例子结果输出二、数学函数函数名sin调用语法retval = sin (value);解说参数为弧度值。函数名cos调用语法retval = cos (value);解说参数为弧度值。函数名atan2调用语法retval = atan2 (value1, value2);解说运算并返回value1除以value2结果的arctan值,单位为弧度,范围在-PIPI。应用例:角度转化成弧度子程序。sub degrees_to_radians l

41、ocal ($degrees) = _; local ($radians);11: $radians = atan2(1,1) * $degrees / 45;函数名sqrt调用语法retval = sqrt (value);解说平方根函数。value为非负数。函数名exp调用语法retval = exp (value);解说返回e的value次方。函数名log调用语法retval = log (value);解说以e为底的自然对数。函数名abs调用语法retval = abs (value);解说绝对值函数。(Perl 4中没有)函数名rand调用语法retval = rand (num);

42、解说随机数函数,返回0和整数num之间的一个浮点数。函数名srand调用语法srand (value);解说初始化随机数生成器。保证每次调用rand真正随机。三、字符串处理函数函数名index调用语法position = index (string, substring, position);解说返回子串substring在字符串string中的位置,如果不存在则返回-1。参数position是可选项,表示匹配之前跳过的字符数,或者说从该位置开始匹配。函数名rindex调用语法position = rindex (string, substring, position);解说与index类似,

43、区别是从右端匹配。函数名length调用语法num = length (string);解说返回字符串长度,或者说含有字符的数目。函数名pos调用语法offset = pos(string);解说返回最后一次模式匹配的位置。函数名substr调用语法substr (expr, skipchars, length)解说抽取字符串(或表达式生成的字符串)expr中的子串,跳过skipchars个字符,或者说从位置skipchars开始抽取子串(第一个字符位置为0),子串长度为length,此参数可忽略,意味着取剩下的全部字符。当此函数出现在等式左边时,expr必须为变量或数组元素,此时其中部分子串

44、被等式右边的值替换。函数名study调用语法study (scalar);解说用一种内部格式提高变量的访问速度,同一时刻只对一个变量起作用。函数名lcuc调用语法retval = lc(string);retval = uc(string);解说将字符串全部转换成小/大写字母。函数名lcfirstucfirst调用语法retval = lcfirst(string);retval = ucfirst(string);解说将第一个字母转换成小/大写。函数名quotameta调用语法newstring = quotemeta(oldstring);解说将非单词的字母前面加上反斜线()。语句 : $

45、string = quotemeta($string);等效于:$string = s/(W)/$1/g;常用于模式匹配操作中,确保字符串中没有字符被看作匹配操作符。函数名join调用语法join (joinstr, list);解说把字符串列表(数组)组合成一个长的字符串,在每两个列表元素间插入串joinstr。函数名sprintf调用语法sprintf (string, fields);解说与printf类似,区别是结果不输出到文件,而作为返回值赋给变量。例子$num = 26;$outstr = sprintf(%d = %x hexadecimal or %o octaln,$num,

46、 $num, $num);print ($outstr);结果输出26 = 1a hexadecimal or 32 octal四、标量转换函数函数名chop调用语法$lastchar = chop (var);解说var可为变量或数组,当var为变量时,最后一个字符被删除并赋给$lastchar,当var为数组/列表时,所有元素的最后一个字符被删除,最后一个元素的最后一个字母赋给$lastchar。函数名chomp调用语法result = chomp(var);解说检查字符串或字符串列表中元素的最后一个字符是否为由系统变量$/定义的行分隔符,如果是就删除。返回值为实际删除的字符个数。函数名c

47、rypt调用语法result = crypt (original, salt);解说用DES算法加密字符串,original是将要加密的字符串,salt是两个字符的字符串,定义如何改变DES算法,以使更难解码。返回值为加密后的串。函数名hex调用语法decnum = hex (hexnum);解说将十六进制数(字符串形式)转化为十进制数。函数名int调用语法intnum = int (floatnum);解说将浮点数舍去小数部分转化为整型数。函数名oct调用语法decnum = oct (octnum);解说将八进制数(字符串形式)或十六进制数(0 x.形式)转化为十进制数。函数名ord调用语

48、法asciival = ord (char);解说返回单个字符的ASCII值,与PASCAL中同名函数类似。函数名chr调用语法$char = chr (asciival);解说返回ASCII值的相应字符,与PASCAL中同名函数类似。函数名pack调用语法formatstr = pack(packformat, list);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(包装)到一个简单变量中。参数packformat包含一个或多个格式字符,列表中每个元素对应一个,各格式字符间可用空格或tab隔开,因为pack忽略空格。除了格式a、A和外,重复使用一种格式多次可在其后加

49、个整数,如: $twoints = pack (i2, 103, 241);把同一格式应用于所有的元素则加个*号,如: $manyints = pack (i*, 14, 26, 11, 83);对于a和A而言,其后的整数表示要创建的字符串长度,重复方法如下: $strings = pack (a6 x 2, test1, test2);格式的情况比较特殊,其后必须加个整数,该数表示字符串必须的长度,如果长度不够,则用空字符(null)补足,如: $output = pack (a 6 a, test, test2);pack函数最常见的用途是创建可与C程序交互的数据,例如C语言中字符串均以空

50、字符(null)结尾,创建这样的数据可以这样做: $Cstring = pack (ax, $mystring);下表是一些格式字符与C中数据类型的等价关系:字符 等价C数据类型CcharddoubleffloatiintIunsigned int (or unsigned)llongLunsigned longsshortSunsigned short完整的格式字符见下表。 格式字符 描述a用空字符(null)补足的字符串A用空格补足的字符串b位串,低位在前B位串,高位在前c带符号字符(通常-128127)C无符号字符(通常8位)d双精度浮点数f单精度浮点数h十六进制数串,低位在前H十六进制

51、数串,高位在前i带符号整数I无符号整数l带符号长整数L无符号长整数n网络序短整数N网络序长整数p字符串指针s带符号短整数S无符号短整数u转化成uuencode格式vVAX序短整数VVAX序长整数x一个空字节X回退一个字节以空字节(null)填充函数名unpack调用语法list = unpack (packformat, formatstr);解说unpack与pack功能相反,将以机器格式存贮的值转化成Perl中值的列表。其格式字符与pack基本相同(即上表),不同的有:A格式将机器格式字符串转化为Perl字符串并去掉尾部所有空格或空字符;x为跳过一个字节;为跳过一些字节到指定的位置,如4为

52、跳过4个字节。下面看一个和X合同的例子: $longrightint = unpack (* X4 L, $packstring);此语句将最后四个字节看作无符号长整数进行转化。下面看一个对uuencode文件解码的例子:1 : #!/usr/local/bin/perl2 : 3 : open (CODEDFILE, /u/janedoe/codefile) |4 : die (Cant open input file);5 : open (OUTFILE, outfile) |6 : die (Cant open output file);7 : while ($line = ) 8 :

53、$decoded = unpack(u, $line);9 : print OUTFILE ($decoded);10: 11: close (OUTFILE);12: close (CODEDFILE); 当将pack和unpack用于uuencode时,要记住,虽然它们与UNIX中的uuencode、uudecode工具算法相同,但并不提供首行和末行,如果想用uudecode对由pack的输出创建的文件进行解码,必须也把首行和末行输出(详见UNIX中uuencode帮助)。函数名vec调用语法retval = vec (vector, index, bits);解说顾名思义,vec即矢量(

54、vector)函数,它把简单变量vector的值看作多块(维)数据,每块含一定数目的位,合起来即一个矢量数据。每次的调用访问其中一块数据,可以读取,也可以写入。参数index就象数组下标一样,提出访问哪一块,0为第一块,依次类推,要注意的是访问次序是从右到左的,即第一块在最右边。参数bits指定每块中的位数,可以为1,2,4,8,16或32。例子1 : #!/usr/local/bin/perl2 : 3 : $vector = pack (B*, 11010011);4 : $val1 = vec ($vector, 0, 4);5 : $val2 = vec ($vector, 1, 4)

55、;6 : print (high-to-low order values: $val1 and $val2n);7 : $vector = pack (b*, 11010011);8 : $val1 = vec ($vector, 0, 4);9 : $val2 = vec ($vector, 1, 4);10: print (low-to-high order values: $val1 and $val2n); 结果high-to-low order values: 3 and 13low-to-high order values: 11 and 12函数名defined调用语法retva

56、l = defined (expr);解说判断一个变量、数组或数组的一个元素是否已经被赋值。expr为变量名、数组名或一个数组元素。如果已定义,返回真,否则返回假。函数名undef调用语法retval = undef (expr);解说取消变量、数组或数组元素甚至子程序的定义,回收其空间。返回值始终为未定义值,此值与空串等效。五、数组和列表函数函数名grep调用语法foundlist = grep (pattern, searchlist);解说与同名的UNIX查找工具类似,grep函数在列表中抽取与指定模式匹配的元素,参数pattern为欲查找的模式,返回值是匹配元素的列表。例子list = (This, is, a, test);foundlist = grep(/tT/, list);结果foundlist = (This, test);函数名splice调用语法retval = splice (array, slipelements, length, newlist);解说拼接函数可以向列表(数组)中间插入元素、删除子列表或替换子列表。参数skipelements是拼接前跳过的元素数目,length是被替换的元素数,newlist是将要拼接进来

温馨提示

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

评论

0/150

提交评论