ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:2.49MB ,
资源ID:8647943      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8647943.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Builder圣诞贺卡课程论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Builder圣诞贺卡课程论文.docx

1、Builder圣诞贺卡课程论文华南师范大学增城学院课 程 论 文 题目:Builder版圣诞贺卡 课 程 名 称 多媒体课程设计 考 查 学 期 2010/2011学年 第一学期 考 查 方 式 课程论文 姓 名 吴斌 学 号 20080601412 专 业 软件工程 成 绩 指 导 教 师 目录一、需求分析 11、现状分析 12、开发目的 1二、概要设计 21、整体设计理念 22、整体设计理念说明 2三、详细设计 31、画卷展开 32、淡出淡入 33、鞭炮人 34、碰撞雪球 45、圣诞老人、圣诞树移动 46、可燃鞭炮 4四、特色及使用 4特色 4使用方法 5五、调试报告 51、展开的欢迎画卷

2、 52、鞭炮人过渡界面 63、 贺卡内容界面 6六、课程设计总结 7附录 81、欢迎界面代码 82、内容界面代码 103、泡泡界面代码 14一、需求分析1、现状分析在喜庆的节日里,你会给家人、朋友、同学等发去一张贺卡么?我相信,大部分人都会用贺卡去表达我们真诚的祝福。每逢节日,网上传递的贺卡如雪花般飘落各地。现在,网上的各种各样的贺卡有很多,有网页的、flash的、视频的、邮件的等等。可见,贺卡已经成为我们的文化、生活中的重要的一部分。贺卡的创意,源于我们的创作;贺卡的创意,体现我们的心意。独特的贺卡传递着我们特别的心意,给友人、亲人一张特别的贺卡,我相信你的友人、亲人会有更甜蜜的幸福。源于此

3、,我着手用编程软件去制作贺卡。2、开发目的 在圣诞节之前,QQ邮箱里就载满了朋友们发来的各式各样的贺卡。每个人的贺卡在内容上都有着自己的特色。我也想回复一封具有自己独特风格的贺卡。自己对画画、作文等都不擅长,故我希望能从形式上创新。结合自己的专业,我决定用编程软件去编写一个程序贺卡。同时,在这学期中我们在多媒体课程中,学会了比较多图像处理、影像处理等方面的知识,可以方便我制作程序贺卡。二、概要设计 1、整体设计理念2、整体设计理念说明 在第一部分的欢迎界面中,有换卷的展开,同时该窗体应用了淡出淡入的效果。在第二部分的过渡中,有个鞭炮小人,自燃自爆后,四散地爆发出贺卡内容里面的碰撞雪球,从而引出

4、贺卡的主题内容。在第三部分的贺卡内容中,有以下的几点内容:(1)流动祝福字。(2)碰撞雪球,可碰壁和相互碰撞。(3)圣诞树、圣诞老人,他们都是可移动的,但是移动之后会慢慢滑落到窗体底部。(4)回忆视频,是与朋友们的一些回忆照片。(5)可燃鞭炮,单击鞭炮之后,鞭炮会燃烧。音乐是贯穿整个贺卡的,没个地方的配音都是精心挑选的。三、详细设计 具体的设计可参阅源程序代码,在此,我只对几部分,我认为比较难实现的效果作简单的阐述。1、画卷展开 将原图利用图画软件分割为3部分,然后利用时钟配合,对载放画卷的那些图像框的边界和位置进行调整,实现画卷展开的效果。2、淡出淡入 利用窗体的透明属性AlphaBlend

5、和AlphaBlendValue,然后配合时钟,改变AlphaBlendValue的值,达到从透明到显示到透明的过程,从而实现淡出淡入的效果。3、鞭炮人利用老师讲过的动画方法,将多张图片递增命名,然后再通过时钟配合调用多张图片,实现鞭炮人的动画效果。4、碰撞雪球碰撞雪球的灵感是来源于一些泡泡屏保,很久的时候看见那些漂亮的泡泡屏保就一直希望自己能亲手弄一些。由于自己的画画水平不好,这里的雪球是抠图得到的,比较粗糙。雪球碰壁,是通过设定几个变量,结合时钟,标识雪球是否越过某边界,越过则改变移动增量。雪球相碰,是计算出雪球的中心点,当雪球之间的中心点小于等于直径的时候,雪球改变移动增量。从而实现雪球

6、碰撞的效果。5、圣诞老人、圣诞树移动 这个的实现可以说是有点模仿画图工具中的画笔实现的。在通过坐标判定,确定鼠标落在图像框并按下左键之后,就像画图工具的画笔移动那样,移动图像框。6、可燃鞭炮 点击之后,开启音乐,通过时钟改变窗体背景色实现闪屏效果,同时,鞭炮的图像框不断地改变其高度,实现鞭炮消逝。四、特色及使用特色:1、 一款编程软件设计的贺卡,比较新颖。2、 音乐贯穿整个贺卡,精心挑选配乐。3、 贺卡各部分的之间的过渡衔接比较好。4、 碰撞雪球有泡泡屏保的风格。5、 贺卡中的动画效果比较多。使用方法:1、本贺卡适合在16:9的屏幕下演示,在其它比例的屏幕下可能会有偏差。2、利用C+ Buil

7、der打开Project1.bpr,运行,即可;或直接打开Project1.exe,即可。3、欢迎界面和过渡部分为自动播放。4、贺卡内容中: (1)圣诞老人和圣诞树是可以移动的,同时,如果移动到窗体底部上面的位置时,它们会滑落到与窗体底部相平。 (2)双击其中的对象(如圣诞老人、圣诞树等)可使其隐藏。 (3)单击其中的鞭炮,可使鞭炮有燃烧的效果。 (4)其中的碰撞雪球和回忆相册都是自动播放的。五、调试报告 1、展开的欢迎画卷 2、鞭炮人过渡界面 3、 贺卡内容界面六、课程设计总结做完本次的课程设计之后,感觉学到的东西比较多。在这张贺卡里面的东西,基本上都是通过自己思考去完成的,并没有参考其它地

8、方的源代码,所以,做起来的时候,遇到的困难挺多的。首先从选材方面说起,在选材方面花的时间似乎挺长的,下载的图片、音效素材有200多MB。同过整理挑选后,然后才应用到程序中去。而且很多素材还不是现成的,需要我去从其中抠出一部分,或截取一部分,甚至有些还需要将其分离开来。贺卡中的大部分图片就是抠图得到的,音乐大部分都是截取而来的,一些动画是从GIF图片分解得到的。选取素材真的是一件比较繁杂的事情,很多素材必须要自己加工才会适合自己的要求。在制作方面,由于已经比较习惯用C+ Builder去编程了,所以那些编程语言方面的困难比较少。但是,在算法方面的困难则比较多的,因为每种效果的实现都需要自己去琢磨

9、、思考如何能更好地达到预期的效果。在这些实现的效果算法中很多都是结合了多媒体课程中学到的知识去实现的。如:碰撞雪球就参考过多媒体课程中的那2个物体碰撞的范例;抠图、截取音乐都是多媒体课程中有学习的;贺卡内容中的对象移动就参考了画图软件中笔的实现每门课程都有其应用之处,只要我们多思考,就能把课程中的知识应用到我们的实际当中。同时,编程是非常灵活多变的,我们预期的效果,可能有多种实现的算法、方法,只有我们不断地探索才能更好地将我们预期的效果表现出来。做完本次的课程设计之后,感觉自己,无论从编程语言、技巧方面,还是算法设计方面都有了一定的提高。附录:1、欢迎界面代码/-#include #pragm

10、a hdrstop#include Unit1.h#include pattern.h/-#pragma package(smart_init)#pragma resource *.dfmTForm1 *Form1;/-_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm1:Timer1Timer(TObject *Sender) static k=0; int Al; if(k=0) /开场时 Al=AlphaBlendValue; Al+=5; if(AlClose(); MediaP

11、layer1-FileName=105.mid; MediaPlayer1-Open(); MediaPlayer1-Play(); else if(k=1) /卷轴拉开 Image1-Left-=5; Image1-Width+=10; Image2-Left+=5; if(Image2-Left=712) Image2-Left=712; k+; else if(k=2) Sleep(4000); k+; else if(k=3) /退场时 Al=AlphaBlendValue; Al-=2; if(Al0) AlphaBlendValue=Al; else MediaPlayer1-Cl

12、ose(); k+; AlphaBlendValue=0; Form2-Show(); /-void _fastcall TForm1:FormShow(TObject *Sender) /爆竹 MediaPlayer1-FileName=Fx13323_grenade2.mp3; MediaPlayer1-Open(); MediaPlayer1-Play();/-2、内容界面代码/-#include #pragma hdrstop#include pattern.h#include bubble.h/-#pragma package(smart_init)#pragma resource

13、*.dfmint kx,ky,kb;TForm2 *Form2;/-_fastcall TForm2:TForm2(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm2:FormClose(TObject *Sender, TCloseAction &Action) Application-Terminate();/-void _fastcall TForm2:FormShow(TObject *Sender) Timer1-Enabled=1; MediaPlayer1-FileName=Fx13323_grenade2.mp3;

14、MediaPlayer1-Open(); MediaPlayer1-Play();/-void _fastcall TForm2:Timer1Timer(TObject *Sender) static int k=0,tu=11; if(k=0) Timer2-Enabled=1; Image1-Picture-LoadFromFile(AnsiString(IntToStr(tu)+.bmp); tu+; if(tu=19) Image1-Visible=0; Panel1-Visible=1; Label1-Visible=1; this-Timer1-Interval=20; Media

15、Player1-Stop(); /转换音乐 MediaPlayer1-Close(); MediaPlayer1-FileName=MusicMerry.mp3; MediaPlayer1-Open(); MediaPlayer1-Play(); k+; Form3-Show(); else if(k=1) Timer2-Enabled=0; this-Color=clWhite; Label1-Left=Label1-Left-1; /流动字 if(Label1-Left+Label1-Width)Left=Panel1-Width; /-void _fastcall TForm2:Form

16、Create(TObject *Sender)this-DoubleBuffered=1;/-void _fastcall TForm2:Timer2Timer(TObject *Sender) /闪屏static int ci=1;if(ci%3=1) this-Color=TColor(RGB(253,83,96);if(ci%3=2) this-Color=clWhite;if(ci%3=0) this-Color=TColor(RGB(251,255,91);ci+;/-void _fastcall TForm2:Image4Click(TObject *Sender) MediaPl

17、ayer2-FileName=鞭炮爆竹声.mp3; MediaPlayer2-Open(); MediaPlayer2-Play(); Timer3-Enabled=1;/-void _fastcall TForm2:Timer3Timer(TObject *Sender)static int cl=1;if(cl%3=1) Form3-Color=TColor(RGB(253,83,96);if(cl%3=2) Form3-Color=clWhite;if(cl%3=0) Form3-Color=TColor(RGB(251,255,91);Image4-Height=Image4-Heig

18、ht-3;if(Image4-HeightVisible=0;cl+;if(cl120)Timer3-Enabled=0; Form3-Color=clWhite;/-void _fastcall TForm2:Image2DblClick(TObject *Sender) Image2-Visible=0;/-void _fastcall TForm2:Image3DblClick(TObject *Sender)Image3-Visible=0;/-void _fastcall TForm2:Image2MouseDown(TObject *Sender, TMouseButton But

19、ton, TShiftState Shift, int X, int Y) kx=X; ky=Y; if(Button=mbLeft) kb=1;/-void _fastcall TForm2:Image2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) if(kb=1) /老人移动 Image2-Top=Form2-Image2-Top+Y-ky; Image2-Left=Form2-Image2-Left+X-kx;/-void _fastcall TForm2:Image2MouseUp(TObject *Sender

20、, TMouseButton Button, TShiftState Shift, int X, int Y)kb=0;/-void _fastcall TForm2:Image3MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) kx=X; ky=Y; if(Button=mbLeft) kb=2;/-void _fastcall TForm2:Image3MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) if(k

21、b=2) /树移动 Image3-Top=Form2-Image3-Top+Y-ky; Image3-Left=Form2-Image3-Left+X-kx;/-void _fastcall TForm2:Image3MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)kb=0;/-void _fastcall TForm2:Timer4Timer(TObject *Sender)if(Image3-Top+Image3-HeightHeight) /滑落Image3-Top=Image3-Top+1;if(Image2-Top+Image2-HeightHeight)Image2-Top=Image2-Top+1;/-void _fastcall TForm2:Panel1DblClick(TObject *Sender)Panel1-Visible=0;/-void _fastcall TForm2:Label1DblClick(TObject *Sender)Label1-Visible=0;/-3、泡泡界面代码/-#include #pragma hdrstop#include bubble.h#include pattern.h#include /-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1