flash游戏制作报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江财经学院东方学院
图形与游戏设计课程论文期末作品:Shoot Ballons(打气球)
学生姓名指导教师
分院信息分院专业名称计算机科学与技术班级学号
2012年12月21日
1引言
在本学期的所有课程中,我们非常荣幸的能够在“图形与游戏设计”这门专业选修课中利用Flash CS3.0软件学习操作Flash软件,不仅学会了简单的图形设计、实现图片的动态化,而且对AS3.0脚本语言有了深入的理解。在期末老师规定的要求和帮助下,我们小组成功的独立的开发了计算机生涯中第一个Flash 游戏作品:shoot balloons(打气球),以下是整个游戏完整的设计与实现过程。
2游戏介绍
2.1 游戏规则及使用方法介绍
由于本次作品是小组成员第一次接触Flash游戏设计,考虑到自身能力因素,小组决定开发一个简单易实现为主的游戏。打气球游戏规则十分简单,是一款鼠标点击屏幕中的气球,在规定时间内将所有气球打完取得胜利的游戏。用户进入游戏后会看到“start”与“help”两个按钮选项,点击“start”按钮直接开始游戏,点击“help”按钮查看游戏帮助,进入help界面点击“back”按钮返回主界面。游戏开始后屏幕上自动生成一定数量的气球(系统默认数量为15),时间条进行滚动,此时拖动鼠标对准屏幕上的气球进行射击,当在规定时间内射击玩所有气球后“游戏胜利”,若有剩余气球或是时间结束则“游戏失败”,“胜利”与“失败”界面均有“restart”按钮重新开始游戏。
3游戏的分析与设计
2.1 功能模块描述
游戏在舞台上划分了两个图层,分别为“元件层”与“背景层”,在主时间轴上一共设置了五帧,依次为“开始界面”帧、“游戏界面”帧、“游戏胜利”
帧、“游戏失败”帧、“帮助界面”帧,考虑到实现代码方便原则均未添上帧标签。
“开始界面”帧中定义了“xunhuanCishu(循环次数)”参数,该参数即可直接改变游戏中气球的个数;定义了LX参数实现背景音乐的播放;加入两个鼠标点击监听事件与函数“kaishi(开始)”、“bangzhu(帮助)”,目的是为了实现实现按钮的链接。
“游戏界面”帧中放入了游戏的主代码程序:
1.在舞台的元件图层上加入“时间条”与“动态文本提示框”定义了游戏需要的参数。定义了“missCishu(丢失次数)”、“dazhongCishu(打中次数)”并且设为0进行初始化,为了实现游戏音效定义了“gun(枪声)”、“miss(丢失声)”、“pig(背景音乐)”、“win(胜利声音)”、“lose(失败声音)”。
2.定义完参数后执行一个for循环使屏幕产生气球,并随机定义了气球的大小和颜色。
3.在舞台上添加一个事件监听器,监听click事件,当click事件发生的时候,执行dianji(点击)函数,点击函数的参数是et,该参数是鼠标事件类型的变量。该函数实现了判断鼠标是否点到了屏幕上的气球,如果点到则变量“dazhongCishu(打中次数)”加1,“动态文本提示框”提示打中加1,并且播放打中音乐;如果丢失则“missCishu(丢失次数)”加1,“动态文本提示框”提示丢失加1,播放丢失音乐。函数同时还用if语句判断“打中次数”,并且插入了监听。当打中次数大于气球总数时跳转到“游戏胜利”帧,当丢失次数达到10次时跳转到“游戏失败”帧。
“游戏胜利”帧与“游戏失败”帧设计类似,在舞台上插入静态提示文本和重新开始按钮,在代码播放提示音乐,同时加入监听对参数进行初始化再跳转到第二帧。
“帮助界面”帧在舞台上添加帮助文本框与返回按钮,代码中加入监听使返回按钮返回到第一帧。
2.2需要解决的关键技术问题
1.代码跳转画面难题
在游戏代码设写阶段时为了实现游戏界面的跳转小组人员进行了深入的研究,在考虑是否使用外包绑定类的思想,初始阶段由于小组的程序员对AS3.0代码的不熟悉与缺乏经验采用了package的代码方式进行书写,在舞台上只设置了一个帧并且用visible语句对元件进行可见控制,但是在进度遇到了瓶颈,导致程序无法实现“开始按钮”成功的运行程序,包的语言的排序问题和逻辑的组织非常不适合此游戏的实现,在参考老师“打方块”的课件后果断的进行拦腰将代码写在里面用监听语言实现帧的跳转,但是小组游戏的进度大大受到影响。
2.气球设计问题
在游戏设计的程序员水平阶段只能设计出相同大小与颜色的气球,但是为了考虑到游戏的观赏与娱乐性,在参考了大量资料后整改代码,引入了随机数的理念,实现了气球的多样化。
3.游戏音效
插入声音元件的代码基础在在实现上的确有一定的难度,但是我们更想反应的也是没有找到良好的解决方法问题是为了使游戏具有良好的音效和娱乐性,小组成员在网上找了大量的素材并特意自己制作素材,利用手机录制了多个声音作为元件但是flash的软件问题,由于找到的素材的比特率不匹配均无法导入成功,使游戏实现的效果与当初定制的标准大打折扣,最后不得不下载闪吧中的素材导入。
4.时间条与气球元件制作
时间条元件设计与教学内容的制作方法相同,利用引导层遮盖实现,时间条设置为150帧,在150帧插入代码使时间条结束后跳转到主时间轴第四帧。气球的元件设计中定义了“xchange”与“ychange”并用if语句来控制气球大小控制产生,最后用补间动画实现气球的爆破。
4游戏的实现
4.1素材准备
影片剪辑:
1.LJ元件
该元件插入在主舞台第一时间轴,元件使用了两个图层,米高梅狮子图案放在背景层,第一层摆放人物,设计当初是想让人物像米高梅狮子一样吼起来,但是考虑到难度改成了双手拍桌子流泪的方案,通过两帧之间动态实现。
2.气球元件
该元件是本游戏最复杂的一个元件,首先插入了三个关键帧用于在游戏中插入代码实现气球大小的控制,接着对图片进行打散分割旋球移位最后形成补间动画形成爆破过程,在制作中进行多次的调试使之效果自然。
3.时间条元件