首页 > 其他 > 详细

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

时间:2014-01-21 09:52:41      阅读:375      评论:0      收藏:0      [点我收藏+]

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

【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





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

原文:http://blog.csdn.net/elong_2009/article/details/18229965

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!