多媒体课程设计-Flash做空战游戏_第1页
多媒体课程设计-Flash做空战游戏_第2页
多媒体课程设计-Flash做空战游戏_第3页
多媒体课程设计-Flash做空战游戏_第4页
多媒体课程设计-Flash做空战游戏_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、电子与信息工程学院多媒体技术与应用课程设计设计题目:Flash做空战游戏学 号:姓 名:专 业:计算机科学与技术班 级:2011-1班指导老师:日 期:2013年6月2日一、 设计思想FLASH作为一款目前最流行的网络动画制作软件,恐怕不知道的人少之又少。其实FLASH强大的功能不光能让我们轻松制作动画,我们还可以利用它完成一些意想不到的工作。比如说是射击游戏,在这个领域应用非常广泛!而且可以制作出各种丰富的小游戏,是非常有趣的!FLASH课程设计能够有效锻炼自主学习能力和综合设计能力,培养创新精神和动手实践能力。通过此次课程设计我们可以: (1). 熟练掌握flash制作所需的基本知识。 (

2、2).熟练掌握Flash动画的整个制作过程。(3). 进一步熟悉Action Script2.0脚本语言面向对象编程的方法及技巧。(4). 充分利用Flash实现游戏编程的优势完成空战射击游戏的制作。(5). 真正做到学以致用,将所学应用于实践。(6). 将以往所学的知识与本课程综合起来应用于实际设计中,培养在实际工作中分析问题和解决问题的能力。二、设计方法在本flash的制作游戏中用到了很多的技术,首先,通过FLASH中文件导入功能将制作本游戏所用到的素材以及音频文件导入到库中。在插入背景时运用“属性”进行调整背景图片的大小及位置,用新建“按钮元件”制作游戏的开始按钮。其次,本游戏中所有的文

3、字显示都运用“文本工具”完成的,并且对素材中飞船和敌机大小是用“任意变形工具”和“部分选取工具”调整的。最后,利用FLASH中Action Script3.0脚本语言对飞船和敌机进行“动作”编程和新增图层动作的控制来实现运行时的游戏效果。还有在游戏名称及说明文字的制作过程中,用到了把文字转换为元件的技术。因为只有把文字转换为元件才能调整文字的alpha值,这也用到了怎样才能使调整的alpha的技巧。总之在制作本flash动画的过程中用到了很多课本上的和课本外的制作技巧,很好的展示了制作flash动画的技巧。三、 具体设计步骤1. 启动FLASH CS6软件。2. 按下Ctrl+J组合键,弹出文

4、档属性对话框,设置编辑区的大小为500400像素,背景为白色,如图1-1所示。图1-1 FLASH新建文档3. 选择“文件”中的“导入”功能,将本游戏制作需要的素材导入到库中。4. 将图层1命名为“背景图片”,把库中的游戏开始前的素材运用“选择工具”拖到舞台中,并设置大小及位置,如图1-2、图1-3所示。图1-2 图片拖入舞台图1-3 设置图片大小及位置5. 新建“游戏名称”图层,选择“文本工具”在背景图片上输入游戏名称“空战”,同样新建“操作说明”图层输入“方向键移动,空格键发射”的操作说明文字,如图1-4所示。图1-4 输入游戏名称及操作方法6. 选择“插入”“新建元件”命令,在弹出的创建

5、新元件对话框中选中影片剪辑按钮,保存在库根目录下,创建一个名称为“敌机爆炸”的元件,如图1-5所示。图1-5 新建“敌机爆炸”元件7. 进入“敌机爆炸”元件的编辑区,将敌机素材插入图层1中第一帧,将敌机接触子弹瞬间的图片运用“矩形工具”画一个小矩形并填充颜色为红色,如图1-6、1-7所示。 图1-6 素材 图1-7 红色矩形8. 在“敌机爆炸”元件中,新建图层2,在第一帧和第二帧单击右键选择“动作”命令,添加动作脚本语句:stop ();如图1-8所示。图1-8 添加动作脚本语句9. 选择“插入” “新建元件”命令,如图1-9所示。图1-9 新建“敌机爆炸动画”元件10. 进入“敌机爆炸动画”

6、元件编辑区,将之前“敌机爆炸”元件中的红色矩形复制到图层1 的第一帧中,然后在第5帧插入空白关键帧,选择“部分选取工具”将矩形变形,画出爆炸瞬间的游戏效果,并把第5帧的内容复制到第6帧,让爆炸时的效果稍微停一帧,达到最佳的视觉效果,如图1-10所示。图1-10 复制帧11. 在“敌机爆炸动画”元件中新建图层2,在第7帧中右击选择“动作”命令,添加 “暂停”的动作脚本语句:stop ();。12. 新建“敌机整体动画”影片剪辑元件,将敌机素材插入元件图层1中,在图层2第一帧右击选择“动作”命令,添加动作脚本语句:stop ();。13. 新建“飞船动画”影片剪辑元件,将飞船素材图片插入元件图层1

7、中,如图1-11所示。图1-11 新建“飞船动画”元件并插入素材14.在“飞船动画”元件中新建图层2用来做飞船生命值为零时的动画效果。在图层2 第2帧插入空白关键帧,用“矩形工具”画一个实心的红色矩形,再将其中心部分用“选择工具”选中后删去实心成空心的,留下矩形边框,如图1-12所示。 图1-12 空心矩形 图1-13 变形15将“飞船动画”元件第2帧的矩形复制到第5帧,并运用“部分选取工具”对它改变形状,如图1-13所示。16. 把“飞船动画”元件第5帧的内容复制到第6帧中,并且将它空心部分填充红色,如图1-14所示。图1-14 变形后填充17. 在“飞船动画”元件中新建图层3,在第1帧中右

8、击选择“动作”命令,添加动作脚本语句:stop ();,在第6帧右击选择“动作”命令,添加动作脚本语句:gotoAndPlay(1);。18.新建“飞船子弹动画”影片剪辑元件,在图层1第2帧插入空白关键帧,画出一个子弹的图形,如图1-15所示。图1-15 绘画飞船子弹19. 在“飞船子弹动画”元件中新建图层2,在第2帧中右击选择“动作”命令,添加动作脚本语句:stop ();。20. 新建“飞船子弹动画1”影片剪辑元件,在图层1第1帧插入空白关键帧,将“飞船子弹动画”元件拖入“飞船子弹动画1”中,并在“飞船子弹动画1”中新建图层2,在第1帧中右击选择“动作”命令,添加动作脚本语句:stop (

9、);,如图1-16所示。图1-16 “飞船子弹动画1”元件添加动作21. 新建“开始按钮”元件,类型为按钮,并在图层1的弹起下插入关键帧,如图1-17所示。图1-17 新建“按钮元件”22. 将剪辑好的音乐导入到库中,使游戏更加形象生动化,如图1-18所示。图1-18 音乐导入库 23. 新建“开始按钮”图层,在第1帧插入空白关键帧,将库中的“开始按钮”元件拖入舞台中,并在按钮上添加动作脚本语句:on (release) gotoAndPlay(3); /释放鼠标时进入第三帧,开始游戏 图1-19 将按钮放入舞台中 24在场景中新建“生命值和得分”图层,并在第3帧插入空白关键帧,在舞台输入“生

10、命:”和“得分:”字样,如图1-20所示。 图1-20 添加字样 25. 将导入到库中的音乐添加到“飞船子弹动画”中图层2的第2帧中,属性中的同步设置为“事件”“重复”,如图1-21所示。 图1-21 添加游戏音乐 26. 在场景中新建“显示分数”图层,在其第3帧中插入空白关键帧,添加两个动态文本,用于显示“生命值”和“得分”,如图1-22所示。 图1-22 添加动态文本27. 在场景中新建“王牌一号”图层,在第3帧中将库中的飞船素材插入,如图1-23所示。图1-23 战机拖入场景28.在“王牌一号”图层中,应在飞船上添加动作脚本语句:onClipEvent (load) /释放鼠标时进入第三

11、帧,开始游戏 speed = 12; sy = _y; ang = 0;onClipEvent (enterFrame) /进入帧时发生 setProperty(, _y, sy + 4 * Math.cos(ang = ang + 9.200000E-002); /用cos函可以是飞机有在空中飘动的效果 c = _root.score; /给c 变量赋值,初试状态为“0” if (c = 390) /如果c的值(得分)等于390,则胜利结束游戏 _root.gotoAndStop(3); if (_root.life = 0) /如果生命值小于0,则重新开始游戏 _root.gotoAndS

12、top(1); if (Key.isDown(40) & _y 10) setProperty(, _y, _y - speed); sy = sy - speed; if (Key.isDown(39) & _x 0) setProperty(, _x, _x - speed); /当玩家按下上、下、左、右方向键时,飞机可以移动 if (Key.isDown(32) /当按下空格键时,飞机开火,用了一个变量a,使每按一下空格发出一发炮弹,如果不设置这个变量,那么当按下空格键时,炮弹将连续飞出。 if (!a) /如果a为false +shotCount; depth = shotCount

13、% 100 + 100; _root.attachMovie(laser, sparo + shotCount, depth); /attachmovie方法是从库中直接调用复制影片剪辑“fire”,它的标识符为“laser”。 _rootsparo + shotCount._x = this._x + (_width - 20); _rootsparo + shotCount._y = this._y;+ (_width - 35); /复制出的“fire”剪辑的初试位置 a = true; else a = false; 29. 在场景中新建“敌方战机”图层,在第3帧中将库中的敌机素材插入

14、场景中,如图1-24所示。图1-24 敌机插入场景中30. 在“地方战机”图层中,应在敌机上添加动作脚本语句:onClipEvent (load) function reset() this.gotoAndStop(1); ship1.gotoAndStop(1); speed = random(5) + 2; /敌机的飞行速度是一个随机数 setProperty(, _y, random(300) + _height); /敌机的初始y坐标取随机数 setProperty(, _x, 550 + _y); maxfire = 400; _root.firePower = maxfire /

15、2; sy = random(400) + 10; reset();onClipEvent (enterFrame) if (_name != enemy) if (this.ship1._currentframe = 1) /敌机剪辑在第一帧 setProperty(, _y, sy + speed * Math.cos(speed = speed + 9.200000E-002); /敌机飞行时有浮动的效果 if (this.hitTest(_root.ship) /如果该剪辑与战斗机相撞 ship1.gotoAndStop(2); /敌机爆炸 _root.ship.play(); _ro

16、ot.life = _root.life - 5; /生命值减5 if (random(_root.firePower) + 1 = 20) +Count; depth = Count % 100 + 200; /敌机飞行时发出炮弹 duplicateMovieClip(_root.enemyLaser, num + Count, depth); /炮弹的初始坐标就是敌机当前所在位置的坐标 _rootnum + Count._x = this._x - 40; _rootnum + Count._y = this._y; setProperty(, _x, _x - speed); if (_

17、x -5) reset(); 31.继续在场景中新建图层9,在第1帧添加动作脚本语句:stop();32.在图层9的第3帧添加动作脚本语句:enemyNumber = 5; /每次画面中出现五个敌人for (i = 0; i enemyNumber; i+) /如果画面中敌人数小于五,则复制出敌人的影片剪辑 duplicateMovieClip(enemy, new + i, 30 + i); life = 100; /生命值为100 score = 0; /开始得分为 0stop ();33.游戏开始前的效果如图1-25所示。图1-25 游戏开始前34.进入游戏的效果如图1-26所示。35.

18、最终游戏中的效果如图1-27所示。图1-27 最终效果图四、 结束语通过空战游戏的制作,我真正的感受到了什么是“只有付出才有回报”的真谛。因为在制作的过程中,为了能有一个好的FLASH游戏动画作品,我做了很多的努力。在制作的过程中遇到了不知如何选择题材的问题,因为如果题材选择的好了,就代表FLASH动画成功了一半。因为俗话说“良好的开头等于成功的一半”。但是如果题材选择的不好,即使后面做的再好,也不能算是成功的FLASH动画。可见,题材的选择是多么的重要。为此,我花了大量的时间仔细的揣摩选择什么样的题材合适制作游戏背景。并且最终确定了要选择的题材,通过制作好以后的测试,我选择的题材还是比较成功的,完全符合游戏动画的风格特点。这也给我的付出做出了很好的回报。还有,从不会绘画到自己慢慢自学绘画,这些变化都是制作FLASH动画才出现的。这都表明FLASH动画的魅力,它可以让一个人的心灵得到陶冶,也能让一个人的

温馨提示

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

评论

0/150

提交评论