Android项目开发第五周

  本周进展:本周是此次Android项目开发最后一周,按照进度基本上完成了Android游戏开发的各项任务。

  总的开发报告如下:

  1、需求分析
  当前移动互联网快速发展,人们生活逐渐趋于多元化,以智能手机为代表的电子产品逐渐受到人们的追捧,手机游戏渐渐地成为了人们休闲娱乐的一种方式。本款软件是一款基于Android系统下采用2.5D技术开发的休闲益智类塔防游戏。塔防游戏是目前市场上比较流行的一类游戏。
 
  2、 系统设计:
  本游戏的策划主要包含:游戏类型定位、呈现技术以及目标平台的确定等工作。
  游戏类型  
   该游戏的所有操作都为触屏完成,通过摆放箭塔阻止精灵来袭,属于休闲益智类游戏。游戏运行平台为Android 2.2,向下兼容Android2.1、Android 2.0、Android 1.6。
  操作方式    
  本游戏所有关于游戏的操作都是触屏操作,玩家可以拖动箭塔进行塔的放置,同时触摸当前箭塔显示箭塔操作图层。
  呈现技术        
  相比较于2D游戏,本游戏采用2.5D技术开发,可以有一种立体的效果,随着位置的不同怪物精灵可以遮挡箭塔,同时也可以被遮挡。
  游戏的类框架
  启动游戏,首先创建的是TafangGameActivity,在TafangGameActivity中首先将用户界面显示成欢迎界面WelcomeView欢迎界面播放结束后,游戏将切换到主菜单界面MainMenuSurfaceView在主菜单界面下,界面中有继续游戏、新游戏、积分榜、音效设置和帮助选择按钮,玩家单机新游戏进入游戏界面GameView;玩家单机积分榜按钮就进入游戏的积分榜界面HighJifenSurfaceView;当玩家单机帮助按钮,系统计入帮助界面HelpView;如果单机继续游戏界面,弹出游戏独挡对话框,选择相应的游戏档就进入游戏界面GameView,接着上次玩的游戏继续。当进入游戏界面时,玩家可以通过建造箭塔用以阻挡怪物精灵的侵袭,当主城血量0时,塔防游戏失败,系统会跳转到游戏失败界GameOverView。
 
  3、系统实现:
 
  (1)公共类
  Activity的实现类TafangGameActivity,该类是通过扩展Activity得到的,是整个游戏的控制器也是整个游戏的程序入口。数据库类DBUtil该类包含系统用到的数据查询,插入等数据库操作方法。
  (2)界面相关类
  欢迎界面类WelcomeView该类为软件启动后要出现的欢迎界面,通过改变图片的透明度实现图片的渐变,运行期间屏蔽任何触屏以及键盘操作。主操作界面类MainMenuSurfaceView,该类为本软件的主界面,可以进行游戏音效的设定、跳转帮助界面、查看游戏积分榜、运行新游戏以及读取游戏存档继续游戏等操作。
排行榜界面类HighJifenSurfaceView,该类为游戏积分榜的实现类,该类数据库查询中应用了分页技术,通过向上或者向下滑动屏幕实现实现积分榜信息的分页显示。
帮助界面类HelpView,该类主要是静态地向读者介绍精灵塔防的玩法。音效设置类界面MusicSurfaceView,该类主要负责游戏中的北京音乐和炮塔的设计音效的开启和关闭。
游戏结束界面类GameOverView,该类为游戏失败后出现的结束界面,该类和WelcomeView类相似,也是通过改变图片的透明度来实现图片的渐变。游戏界面类GameView,
该类为游戏程序中最主要的类,主要负责游戏画面的绘制
  (3)辅助线程类
  GameViewDrawThread类继承自Thread类,重绘GameView的SurfaceView对象IfGameOverThread类继承自Thread类,用来判断游戏何时结束。ShellNumThread类和ShellThread类二者均继承自Thread类,用来控制炮弹的产生和炮弹的发射路线。TargetNumThread类和TargetThread类二者均继承自Thread类,分别控制界面中下拉选项组下拉的线程。TimeThread类和ShuiJingThread类继承自Thread类,用来控制游戏界面中水晶物品操作的线程。
  (4)实体对象类Shell类和Target类
  Shell类是为描述炮塔射击炮弹开发的对象类,Target为描述怪物精灵开发的对象类。SingleJianta类和SingleGoJianta类前者为描述游戏界面中箭塔开发的对象类,后者为描述游戏中拖动箭塔过程中的箭塔类。
 
  4、系统测试:
   经过多次在虚拟器上玩此游戏,预期的功能基本上都能够完成。各个游戏界面也都能良好的显示。
游戏正常运转精灵能够正常出现箭塔也能够起作用射杀精灵如下图
   游戏中的各个界面也能够正常显示:
游戏主界面

你可能感兴趣的:(Android项目开发第五周)