基于Android平台的星际射击游戏的设计与实现(3)
来源:56doc.com 资料编号:5D10234 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9A5D10234
资料介绍
点击Add...按钮,弹出对话框要求输入Name和Location,Location输入http://dl-ssl.google.com/Android/eclipse。如图2-3所示: 图2-3 ADT的安装 (2) 确认后,展开Developer Tools将显示Android DDMS和Android Development Tool,勾选它们,然后按提示继续下一步。 (3) 完成之后,选择Window->Preferences...,在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径E:\Android-sdk-windows,点击Apply、OK,配置完成。 2.2.5 创建AVD (1) 在Eclipse中,选择Windows->Android SDK and AVD Manager,点击左侧面板的Virtual Devices,再右侧点击New,填入名字ff、Target选择Android 2.2-API Level8、SD Card 512MiB,选用HVGA Skin,其余默认设置。 (2) 点击Create AVD即可完成创建AVD。 运行新建的模拟器,在列表中选中要运行的模拟器,然后单击“start...”;再单击“launch”。当运行成功后出现如图2-3所示界面: 图2-3 模拟器 3 手机游戏的可行性分析 在设计程序之前对该项目进行了技术可行性分析,和市场可行性分析。 3.1 技术条件可行性 本软件主要采用Java编程语言编写,Java语言很好的借鉴了C++语言,具有以下特点: (1) 面向对象——Java语言的设计完全是面向对象的,支持静态和动态风格的代码继承及重用。 (2) 平台无关性——Java将它的程序编译成一种结构中立的中间文件格式。只要装有Java运行系统(Java虚拟机)的机器都能执行这种中间代码。这些字节码指令由Java虚拟机来执行,Java虚拟机的解释器在得到字节码后,将其转换并执行,而不是由操作系统来执行的。所以无论在任何操作系统上,Java程序都能直接运行。 (3) 稳定,安全——Java的异常处理机制可以帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性,Java还实现了真数组,避免了覆盖数据的可能。Java提供Null指针检测数组边界,检测异常出口字节代码校验。因此Java是稳定健壮的,这项功能特征大大缩短了开发Java应用程序的周期。在安全性方面,指针和释放内存等C++功能被删除,避免了由于非法内存操作而带来的安全问题。 3.2 市场可行性分析 我国的游戏产业也不断发展,对可移动性手机游戏开发也成为当今的亮点。根据易观国际《中国手机用户市场调研报告2011》文件,在对比分析互联网用户和移动互联网用户对手机应用服务使用情况发现,手机游戏是近半年中使用过最多的手机应用服务,使用率远远超过手机邮箱、手机社区等应有服务,高达64.3%。 据有关调研中心调查显示,从职业构成看,学生、工人、服务行业、军人及个体户成为目前手机游戏用户的主体。在手机游戏用户群中,学生占了近一半,比例高达47.3%,工人其次,显示中低收入群体成为手机游戏的主体用户。可见手机用户对游戏的偏好与需求是巨大的。 4手机游戏的功能分析 在技术层面上,软件工程开始于一系列的建模工作,最终生成待开发软件的需求规格说明和全面的设计表示。需求分析产生软件操作特征的规格说明,与系统相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,指明软件与其他系统元素的接口,建立软件必须满足的约束。 4.1 目标程序功能需求分析 一般的用例图中,只表述参与者和用例之间的关系,在这款飞机射击游戏在游戏过程中的主要用例有: (1) 启动游戏,从用户的角度就是选择菜单里的开始游戏选项并且按下确定键,手机给出的响应是调用开始游戏的图片几秒,然后开始调入背景图片和飞机,子弹的图形和坐标并显现在手机屏幕上,完成游戏的初始化。 (2) 设置背景音乐和音效,从用户的角度就是打开菜单中的设置选项,选中ON或者OFF,手机给出的响应是关闭背景音乐或者关闭音效。 (3) 控制飞机方向、当用户通过键盘给飞机发出方向命令后,手机给出响应,调用RUN()方法里的算法对飞机当前的坐标进行加减运算,并运算后改变坐标赋给飞机的当前坐标值,通过线程里飞机图像刷新显示在屏幕上,完成飞机移动的控制,这个用例是用户直接控制。 (4) 控制飞机生命,用户无法对飞机生命值进行控制。当发生碰撞时,程序对生命值进行修改,并把修改后的生命值通过线程重新绘制在屏幕上。 计算歼敌数目,用户无法对歼敌数目进行修改。当发生碰撞时,程序对歼敌数目值进行修改,并把修改后的歼敌数目重新绘制在屏幕上。 (5) 发射导弹,当用户点击进入游戏时,手机调用线程,重绘导弹图像,将其绘制在手机屏幕上。这个用例程序直接控制,用户无法控制。 (6) 控制敌机和飞行道具,用户不能对其进行控制,由程序控制。 (7) 碰撞,用户不能直接控制,但是可以通过控制飞机达到间接控制的目的。 (8) 终止游戏,游戏中用户不能直接终止游戏,当用户控制的飞机生命值为0时手机可以根据条件判断终止游戏进行控制。 根据以上用例我们可以得到如图4-1的用例模型。 图4-1 射击游戏用例模型 根据前面的用例模型图对基础用例的事件流进行分析,得出本游戏的主要功能流程。 (1) 显示游戏的标题画面。为了吸引用户的注意力和发挥用户的想象力,用精美的图片作为游戏的标题画面。 (2) 进入游戏的主选菜单。 (3) 启动游戏。 (4) 设置游戏背景音乐,和游戏音效。 (5) 进入游戏的主要内容显示。包括用户对飞机的控制,发射导弹的控制,用户控制的飞机生命值显示,敌机和子弹的显示,歼敌数目的显示,背景的显示,飞行道具的显示,飞机子弹的碰撞的判断和显示。 (6) 结束游戏。 根据以上流程,可得出本游戏的运行流程如下图4-2: 图4-2 射击游戏的功能流程 4.2 游戏策划 游戏设计的第一步,需要构思整个游戏,先构建出一个整体的设计思路和概念,然后将这个概念逐步细化,从角色的造型图片,到使用不同的道具达到不同的特效和场景,增加游戏的趣味性,从而形成一个活生生的游戏。 4.2.1 游戏故事背景策划 本游戏是一款射击类手机游戏,这款游戏是模拟街机的飞行战斗游戏设计。玩家通过控制自己的飞机,凭借其高超的控制技术和灵敏度,面对各种敌人战斗机,躲过枪林弹雨,击落各种敌机,最后获得与终极boss对战的机会。 |