`

JetBoy游戏深入解析(上)——框架分析

阅读更多

JetBoy这个游戏是Android SDK中的一个例子游戏,花了几天的时间,简单的分析了下,为以后编写游戏代码积累一些经验。前面我们介绍了Snake游戏,这个游戏相对比较简单,JetBoy相对复杂些,其主要是告诉我们如何使用JetPlayer类。这个例子程序我们将分3篇幅(框架分析、JetPlayer类解析核心代码分析)来解析,本篇幅我们主要分析其框架。

游戏的界面,如下图所示:

jetboy-nail
先介绍游戏界面的组成:Asteroid(小行星,陨石)、Ship(飞船)、Beam(激光束),其他的都是背景。
这个游戏如何玩了?通过中间按钮来控制飞船发射激光,击中陨石得分,飞船的位置与当前最新的陨石保证水平。
如何切换游戏界面的横竖?这个相信每个开发人员应该知道吧(Ctrl + F12)!

 

首先,我们还是分析类的结构,如下图所示:

jetboy-class
主要类如下:

主要类 功能说明
JetBoy Activity的子类,游戏事件
JetView 游戏界面的显示
JetThread 核心线程类
KeyGameEvent 一个 key事件
JetGameEvent 一个JET engine 产生的事件

然后,我们分析程序对用户操作的处理:

jetboy-event

最后,我们分析游戏运行的过程:

jetboy-run

总结说明

整个程序看起来比较的复杂,我也是在分析Android SDK的基础上,然后将代码整理后使用Rational Rose工具将代码的框架分析出来,通过分析工具,我们就可以屏蔽“复杂“的代码(代码细节),整个框架就可以清晰的显示在我们面前。

 

分享到:
评论
1 楼 chenqirang 2011-11-15  
非常感谢,我用的是ubuntu,懒得找工具转换了...这个JetBoyView光看代码真的是非常复杂,而且感觉参数命名也不是很规范,看得我头疼了

相关推荐

Global site tag (gtag.js) - Google Analytics