毕业设计(论文)
课题名称: Flash游戏制作——坦克大战
学 院: 软件学院 专 业: 信息工程 班 级: 081131
二零一二 年 四 月
摘 要
flash游戏是一种新兴起的游戏形式,以游戏简单,操作方便,绿色,无需安装,文件体
积小等优点现在渐渐被广大网友喜爱。由于flash游戏主要应用于一些趣味化的、小型的游戏之上,以完全发挥它基于矢量图的优势。flash游戏因为Flash CS 3和ActionScript 3。0的原因,在近年发展迅速,许多年青人投身其中,并在整个flash行业中发挥重要作用。flash player占据了90%互联网用户的浏览器,所以发的发展空间还十分巨大,前途不可估量。
制作游戏的初衷是因为在当今人们的工作很繁琐枯燥,在闲暇时能玩玩一些小游戏来放
松自己。本游戏运用了Flash基本知识与精巧的算法还原了90年代的经典游戏——坦克大战,由于是Flash游戏,在进网页浏览时要尽可能的减少游戏加载速度和提高游戏运行速度,所以游戏模型采取了最简单的矢量图绘制而成,放弃了色彩比较丰富的位图,整个游戏作品仅22KB大小,与静态网页的大小相差无几,完全满足一般网络带宽的加载需求。
游戏算法方面采用了面向对象程序设计,面向对象的编程引进了类的概念,在本文中重
点介绍了类的使用方法。游戏中每一个游戏元素都采用不同的类进行了封装,代码采用最新Flash CS 4。0中的ActionScript3。0,在AS3。0中每个类的脚本代码都用一个独立的*。as文件保存,在游戏中每一个元素都是一个独立的类,比如子弹类实现了子弹检测是否击中敌人的功能、玩家控制的坦克类实现了玩家坦克上下左右移动和射击的功能、敌军坦克类实现敌人自主移动和射击的简单人工智能功能等等,这些都体现了类的封装概念,让设计者更加轻松、读者更加易懂。
关键词: flash;碰撞;射击; 移动
目 录
第1章 绪论 .................................................................... 1
1。1 Flash软件简介 ......................................................... 1 1。2 Flash的特点 ........................................................... 1 1。3 Flash的发展现状与前景 ................................................. 2 1。4 Flash游戏 ............................................................. 3 1。5 Flash游戏的发展方向 ................................................... 4 第2章 游戏设计思路 ............................................................ 5
2。1 坦克大战的玩法和技术评分 .............................................. 5 2。2 坦克大战的框架与交互元件的组成 ........................................ 5 2。3 坦克大战游戏算法设计 .................................................. 9 第3章 坦克大战游戏实现 ....................................................... 11
3。1 游戏布局 ............................................................. 11
3。1。1 游戏主界面 ..................................................... 12 3。1。2 全局脚本 ....................................................... 12 3。1 玩家类 ............................................................... 14
3。2。1 玩家坦克的移动 ................................................. 14 3。2。2 玩家坦克发射子弹 ............................................... 18 3。2 玩家子弹类 ........................................................... 19
3。3。1子弹的速度与方向 ............................................... 19 3。3。2 子弹的碰撞 ..................................................... 21 3。3 敌人类 ............................................................... 23
3。4。1简单人工智能 ................................................... 24 3。4。2 敌人的移动 ..................................................... 24 3。4。3 敌人发射子弹 ................................................... 26 3。4。4敌人与玩家子弹的碰撞 ........................................... 26 3。4 敌人子弹类 ........................................................... 27
3。5。1 敌人子弹的速度和方向 ........................................... 28 3。5。2 敌人子弹的消失条件 ............................................. 28 3。5 领主类 ............................................................... 29
3。6。1 领主的登场 ..................................................... 30 3。6。2领主的移动和射击 ............................................... 30 3。6。3 领主的生命值 ................................................... 30 3。6。4 领主被击败了 ................................................... 31 3。6 领主子弹类 ........................................................... 33
3。7。1 领主子弹的移动 ................................................. 34 3。7。2 领主子弹与玩家的碰撞 ........................................... 35 3。7 玩家生命值 ........................................................... 36
3。8。1 生命值的宽度 ................................................... 37 3。8。1 游戏如何失败 ................................................... 37 3。8 关卡 ................................................................. 39
3。10。1 关卡的组成 .................................................... 40 3。9 游戏结束与得分 ....................................................... 41
2
3。11。1 玩家的分数总结 ................................................ 41 3。11。2 游戏的重新开始 ................................................ 41
总 结 ........................................................................ 42
3
第1章 绪论
1。1 Flash软件简介
早期Flash是由macromedia公司推出的交互式矢量图和 Web 动画的标准,后来被Adobe公司收购,将Flash升级为Flash CS系列,现在已更新到Flash CS 5,Flash CS引进了photoshop技术,并且将ActionScript从2。0升级到了3。0,以前的Flash代码部分从Flash文件内部移动到了文件外部,使开发者和设计者都能简单的进行查找和修改,运行速度也提升了5-30倍,功能更为强大。网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。Flash也是存储芯片的一种,通过特定的程序可以修改里面的数据。
Flash是一种创作工具,设计人员和开发人员可使用它来创建应用程序、演示文稿和其它允许用户交互的内容。Flash可以包含视频内容、简单的动画、复杂演示文稿和应用程序以及介于它们之间的任何内容。
Flash特别适用于创建通过Internet提供的内容,因为它的文件非常小。Flash是通过广泛使用矢量图形做到这一点的。与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。
在Flash中创作内容时,需要在Flash文档文件中工作。Flash文档的文件扩展名为*。fla。
Flash文档有四个主要部分: 1. 2.
舞台是在回放过程中显示图形、视频、按钮等内容的位置。在Flash基础中将对舞台做详细介绍。
时间轴用来通知Flash显示图形和其它项目元素的时间,也可以使用时间轴指定舞台上各图形的分层顺序。位于较高图层中的图形显示在较低图层中的图形的上方。 3. 4.
库面板是Flash显示Flash文档中的媒体元素列表的位置。
ActionScript代码可用来向文档中的媒体元素添加交互式内容。例如,可以添加代码以便用户在单击某按钮时显示一幅新图像,还可以使用ActionScript向应用程序添加逻辑。逻辑使应用程序能够根据用户的操作和其它情况采取不同的工作方式。Flash的ActionScript代码可以写在Flash文档内部,也可以写在外部。
1。2 Flash的特点
1. 使用矢量图形和流式播放技术。与位图图形不同的是,矢量图形可以任意缩放尺寸
而不影响图形的质量;流式播放技术使得动画可以边播放边下载,从而缓解了网页
1