梧州学院
课程设计
课程:智能手机软件开发技术
题目:基于安卓的植物大战僵尸
学院: 信息与电子工程学院
专业班级:12软件工程1班
学生学号: **********14 
******         
一、安卓手游概述
手机游戏,就是指在手机上运行的游戏软件。目前用来编写安卓手机程序使用最多的是 Java 语言。随着科技的快速发展,目前手机的硬件更新速度越来越快,功能也越来越强大。而现
在的手机游戏也不是诺基亚时代风靡全球的那些依托于掌上游戏机的“俄罗斯方块”、“贪吃蛇”等画面简陋,规则简单的游戏,进而发展到了可以和掌上游戏机媲美,具有很强的娱乐性和交互性的复杂形态。作为运行在手持移动终端设备上的应用程序,手机的硬件特征决定了手机游戏的特点:首先是其庞大的潜在用户,据最新调查统计,2015年底全球使用智能手机人口即将达到25亿超过全球人口的三分之一,而且这个数字每天都在不断增加,另外Android市场份额占84.7%。在除美国之外的各个发达国家,手机用户都比计算机用户多。手机游戏潜在的市场比其他任何平台都要大。其次是其便携性,在控制台游戏时代,掌上游戏机热销的一个原因就是便携性——人们可以随时随地沉浸在自己喜欢的游戏中。和游戏控制台或者PC 相比,手机虽然可能不是一个专业的游戏设备, 但毕竟人们总是随时随身携带,这样手机游戏很可能成为人们消遣时间的首选。更重要的是其支持网络,由于手机是网络设备,在一定限制因素下可以实现多人在线游戏。
为什么要开发Android版本的游戏。一是源于其技术优势:一方面是其稳定性,现在已有公认最稳定版本Android 5.0操作系统Lollipop棒棒糖)。另一方面是程序员技术入门快,对有一定Java语言基础的人来说,学习和掌握Android开发技术非常快。二是源于Android手机操作系统的市场优势:自Google在2008年9月正式发布Android 1.0系统以来,
Android系统在短短的3年时间就占据全球智能机市场48%的份额,如今已经增长84.7%,远远超过IOS,稳坐全球第一。更需要特别说明的一点:开发周期短,是一个很大的优势。熟悉手机游戏市场的人都知道,手机游戏形式更新换代的周期很短,如果一旦错过了最佳发布时间,即使开发出来的产品再好,也只能成为废品。
二、开发工具的介绍
开发此款游戏主要使用到的工具有四种:Eclipse,是一个开放源代码的、基于Java的可扩展开发平台;ADT,是Eclipse平台下用来开发Android应用程序的插件;Android SDK,是Android专属的软件开发工具包; Fireworks,是Adobe推出的一款图形编辑软件。
2.1 Eclipse
Eclipse是著名的跨平台的自由集成开发环境(IDE)。其本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE,因此得到了众多组织定力支持。
2.2 ADT
这是Eclipse插件,作用是关联Android SDK,使Eclipse能够新建Android工程。
2.3 Android SDK
Android SDK全称为Android Software Development Kit,它提供了在Windows/Linux/Mac平台上开发Android应用的开发组件。包含了在Android平台上开发移动应用程序的各种工具集,主要是由以下5个部分组成:
Andriod模拟器(AVD&):运行在计算机上的虚拟移动模拟器,可以使用模拟器来在一个实际的Android运行环境下设计,调试和测试应用程序。
调试监视服务(ddms.bat):它集成在Dalvik(Android平台虚拟机)中,用于管理运行在模拟器或设备上的进程,并协助进行调试。可以用它来去除进程,选择一个特定程序来调试,生成跟踪数据,查看堆和线程数据,对模拟器或设备进行屏幕快照等。
Android调试():它用于向模拟器或手机设备安装应用程序的apk文件和从命令行访问模拟器或手机设备.也可以用于将标准的调试器连接到运行在android模拟器或手设备上的应用代码。
SQLite3数据库()):Android应用程序可以创建和使用SQLite数据文件,开发者和使用者也可以方便的访问这些数据文件 
创建SD卡工具()) 
2.4 Fireworks
Fireworks是Macromedia公司发布的一款专为网络图形设计的图形编辑软件,它大大简化了网络图形设计的工作难度,无论是专业设计家还是业余爱好者,使用Fireworks都不仅可以轻松地制作出十分动感的GIF动画,还可以轻易地完成大图切割、动态按钮、动态翻转图等。
三、技术介绍
    该设计主要使用了SurfaceView游戏框架,采用双缓存技术避免屏幕出现闪烁。
3.1 SurfaceView
SurfaceView可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图容
器。
它的特性是:可以在主线程之外的线程中向屏幕绘图上。这样可以避免画图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的背景、人物、动画等等尽量在画布Canvas中画出。
3.2 双缓存
窗体在刷新时,总要有一个擦除原来图象的过程,它利用背景填充窗体绘图区,然后再调用新的绘图代码进行重绘,这样一擦一写造成了图象颜的反差,造成闪烁。闪烁是图形编程的一个常见问题。需要多重复杂绘制操作的图形操作会导致呈现的图像闪烁或具有其他不可接受的外观。当数据量很大时,绘图可能需要几秒钟甚至更长的时间,闪烁现象会更加严重,为了解决这些问题,可采用双缓冲技术来绘图。
3.3  Cocos2d-android游戏引擎
cocos2d是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用。可以让你在创建自己的多平台游戏时节省很多的时间。
Cocos2D也拥有几个主要版本,包括Cocos2D-iPhone、Cocos2D-X,以及被社区普遍看好的Cocos2D-HTML5JavaScriptbindings for Cocos2D-X。同时也拥有了非常优秀的编辑器(独立编辑器),例如SpriteSheet Editors、Particle Editors 、Font Editors 、 Tilemap Editors。
另外,2012年发布的CocoStudio工具集是开源游戏引擎Cocos2d-x开发团队官方推出的游戏开发工具,目前已经进入稳定版。CocoStudio吸取了他们自己在游戏制作中的经验,为移动游戏开发者和团队量身定做,旨在降低游戏开发的门槛,提高开发效率,同时也为Cocos2D-X的进一步发展打下基础。
四、系统功能
系统主要有以下几个功能
4.1 项目概述
    本项目分为五个主要部分:常规、夜晚、无尽三个模式进行游戏,和游戏设置与查看帮助。用例图如图2.1。
图 2.1 系统用例图
4.2 项目概述
4.2.1 常规模式
此部分主要实现玩家在游戏背景为白天的情况下玩游戏。该部分具体情况如表2.1。
表 2.1 常规模式
用例名称
常规模式
功能简述
在常规模式下进行游戏
前置条件
玩家进入游戏
后置条件
进入常规模式开始游戏
基本流
1、点击主菜单页面“常规模式”按钮,进入常规模式开始游戏
2、点击“返回”按钮,用例终止
4.2.2 夜晚模式
此部分主要实现玩家在游戏背景为夜晚的情况下玩游戏。该部分具体情况如表2.2。
表 2.2 夜晚模式
用例名称
夜晚模式
功能简述
在夜晚模式下进行游戏
前置条件
玩家进入游戏
后置条件
进入夜晚模式开始游戏
基本流
1、点击主菜单页面“夜晚模式”按钮,进入夜晚模式开始游戏
2、点击“菜单”按钮游戏暂停并进入主菜单
3、点击“夜晚模式”回到游戏
4、点击“返回”按钮,用例终止
4.2.3 无尽模式
此部分主要实现游戏玩家在常规或者夜晚模式通关的情况下玩游戏。该部分具体情况如表2.3。
表 2.3 无尽模式
用例名称
无尽模式
功能简述
在无尽模式下进行游戏
eclipse开发手机app
前置条件
玩家在常规或者夜晚模式通关
后置条件
进入常规模式开始游戏
基本流
1、点击主菜单页面“无尽模式”按钮,进入无尽模式开始游戏
2、点击“菜单”按钮游戏暂停并进入主菜单
3、点击“无尽模式”回到游戏
4、点击“返回”按钮,用例终止
4.2.4 游戏设置
此部分主要实现对游戏背景音乐、效果音的开启和关闭。该部分具体情况如表2.4。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。