您的位置:首页 > 其它

山寨腾讯“爱消除”游戏之框架总结

2014-01-13 20:39 295 查看
山寨腾讯“爱消除”游戏教程到今天就全部结束了,今天我们对前面所介绍的内容进行一个总结。

【TIP】山寨“爱消除”游戏已经成功升级为《消除僵尸》游戏,游戏可以在http://as.baidu.com/a/item?docid=5388035 下载。项目地址在https://github.com/3125788/CrazyZomby

也欢迎广大寨友学习利用此游戏框架,开发出更多更好的游戏来。

正如第一节课我们介绍的一样,山寨特训“爱消除”游戏框架式一个非常简单实用的游戏框架,核心代码只有一两百行。通过不断增加渲染类及控制类、添加游戏逻辑,可以逐渐丰富游戏的场景。这个框架适合初学者及快速开发的需要。

下面,我们将此游戏框架实现的主要内容简单介绍如下,帮助大家能够尽快熟悉这个框架。

1、elong.CrazyZomby,游戏的主界面及核心框架

类名作用
CrazyZombyActivity游戏的主Activity

整个游戏仅此一个activity,所有游戏界面都是通过OPENGL来渲染的,包括菜单、游戏主界面及积分牌等

本游戏的一个最大特点就是所有场景都全部通过OPENGL来渲染。我们定义了以下场景,您也可以根据您的

需要随时增加更多的场景:

public enum E_SCENARIO

{

MENU, /*菜单场景*/

GAME, /*游戏场景*/

RESULT,
/*结果场景*/

}
CrazyZombyConstent项目的常量(参数)定义
CrazyZombyGLSurfaceView游戏渲染的主框架。核心代码仅100多行,效率非常高,不会随着渲染类的增加而导致效率明显下降。
2、elong.CrazyZomby.Control,各种渲染类对应的控制类(静态渲染类不需要控制类)

类名作用
CtlAutoTip自动提示特效的控制类
CtlBase控制基类,实现了通用的几个控制方法
CtlBomb***特效的控制类
CtlDisappear消除特效的控制类
CtlExchange交换特效的控制类
CtlExplosion爆炸特效的控制类
CtlFill跌落特效的控制类
CtlLifeAdd获得生命特效的控制类
CtlLifeDel失去生命特效的控制类
CtlLoading游戏加载特效的控制类
CtlMenu菜单效果的控制类
CtlMonster怪兽特效的控制类
CtlResultScore计分牌的控制类
CtlSingleScore成绩提示特效的控制类
CtlTip1提示特效1控制类
CtlTip2 提示特效2控制类
3、elong.CrazyZomby.Core,游戏的核心,提供各种游戏逻辑功能。你可以在这里丰富您的游戏逻辑

类名作用
ActionTokenPool操作令牌池。为了支持同时进行多个交换操作,用令牌池进行冲突管理。每一个触摸动作都必须获得一个令牌才能进行操作,

触摸动作执行完成后,会释放对应的令牌。
ControlCenter控制中心类。游戏的核心逻辑。您可以在这里加上你的游戏控制逻辑,也可以单独设计游戏逻辑,然后作为控制中心类的

一个实例进行管理。
Life生命管理类
Score成绩管理类
Sound音效管理类
Timer时间管理类
4、elong.CrazyZomby.Draw,OPENGL渲染类。一幅完整的场景是通过多个特效渲染类叠加起来实现的。你可以随时修改渲染类以获得更好地显示效果。

每一个渲染类都是短小的仅实现特定渲染细节的。不要试图将渲染类设计成大而全且复杂的类。

有心的朋友可能会注意到我们的渲染类有较多的冗余代码,如果必要,您可以将它适当抽象一下,然后提交到我们的开源项目中,我在此对您先表示感谢。

类名作用
DrawAnimal游戏主对象的渲染特效,无对应的控制类
DrawAutoTip自动提示的渲染特效
DrawBackGround游戏背景的渲染特效,无对应的控制类
DrawBomb***渲染特效
DrawDisappear消除渲染特效
DrawExchange交换渲染特效
DrawExplosion爆炸渲染特效
DrawFill跌落渲染特效
DrawGrid网格渲染特效,无对应的控制类
DrawLife生命渲染特效,无对应的控制类
DrawLifeAdd获得生命渲染特效
DrawLifeDel失去生命渲染特效
DrawLoading游戏加载渲染特效
DrawMenu菜单绘制渲染特效
DrawMonster怪兽渲染特效
DrawResultScore记分牌渲染特效
DrawScore成绩渲染特效,无对应的控制类
DrawSingleScore成绩提示渲染特效
DrawTimeBar时间进度条渲染特效
DrawTip1提示1渲染特效
DrawTip2提示2渲染特效
5、elong.CrazyZomby.Interaction,人机交互类,目前实现的主要是触摸事件的处理机制。

类名作用
ScreenTouch屏幕触摸处理类,处理所有屏幕触碰的事件,并转换为特定的控制消息
TouchArea供菜单类使用的触摸区域定义

//定义触摸区域

public enum E_TOUCHAREA

{

NONE,

MENU_TIME_MODE,

MENU_LIFE_MODE,

MENU_ABOUT,

MENU_EXIT,

RESULT_CONTINUE,

RESULT2,

MAX,

}
TouchMsg触摸动作消息,与TouchArea捆绑使用,识别出触摸到了哪个TouchArea
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: