山寨腾讯“爱消除”游戏之框架总结
来源:互联网 发布:用友u8利润表没有数据 编辑:程序博客网 时间:2024/05/17 05:00
山寨腾讯“爱消除”游戏教程到今天就全部结束了,今天我们对前面所介绍的内容进行一个总结。
【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
- 山寨腾讯“爱消除”游戏之框架总结
- 山寨腾讯“爱消除”游戏之奖励特效
- 山寨腾讯“爱消除”游戏之自动提示特效
- 山寨腾讯“爱消除”游戏之交换特效优化
- 山寨腾讯“爱消除”游戏之声音效果
- 山寨腾讯“爱消除”游戏之生命特效
- 山寨腾讯“爱消除”游戏之获得生命特效
- 山寨腾讯“爱消除”游戏之失去生命特效
- 山寨腾讯“爱消除”游戏之屏幕自动适配
- 山寨腾讯“爱消除”游戏之菜单特效
- 山寨腾讯“爱消除”游戏之屏幕拾取技术
- 山寨腾讯“爱消除”游戏7日教程
- 山寨腾讯“爱消除”游戏7日教程--DAY2
- 山寨腾讯“爱消除”游戏7日教程--DAY3
- 山寨腾讯“爱消除”游戏7日教程--DAY4
- 山寨腾讯“爱消除”游戏7日教程--DAY5
- 山寨腾讯“爱消除”游戏7日教程--DAY6
- 山寨腾讯“爱消除”游戏7日教程--DAY7
- JQuery fn fy
- Eclipse中运行Hadoop程序的各种问题
- 解决android 项目在eclipse中无法自动生成R类方法
- javase各版本官方文档
- AspxGridView 中 EditForm 的使用方法
- 山寨腾讯“爱消除”游戏之框架总结
- 黑马程序员---java学习笔记之网络编程
- Eclipse 远程调试
- 解决ubuntu13.10 wifi灯不亮
- 目前的一些技术(spark,shark,tachyon)
- VC 用服务进程开启有UI的进程和写注册表HKEY_CURRENT_USER子键的问题
- 我的2011——为梦而行
- c++中RTTI的观念和使用
- 第一章 概述 1.4互联网的地址