Tower Defense Toolkit中看游戏架构
2016-06-22 04:57
369 查看
我经常在研究大神的作品时,为大神们的游戏架构所折服,下面我来具体聊聊TDTK这个塔防插件它的设计架构
架构分横向和纵向,下面就分别具体的讨论一下这两个方面
横向上,主要从功能模块上划分,分车辆仓储管理模块、车辆调度模块,技能模块、路径模块、车AI、平台模块、鼠标点击建塔或者升级塔模块
FR:徐海涛(Hunk Xu) QQ群:386476712
以上所说的每一个模块,都被设计成一个单例
![](http://img.blog.csdn.net/20160622045510939)
上面每个模块都有自己核心功能,这些功能就是其作为个体存在的价值体现
部分模块之间有功能交集,如下:
a+b
c+e
f+g
Tower Defense Toolkit的做法,在模块中使用静态的方法作为对外的窗口,这种方式我觉得非常好!
纵向上就是站在全局的角度看游戏,表现就是用GameControl这个类,来进行游戏的初始化工作
假设A模块中需要用到某个类型的List,而这个类型的List正好在B模块中已经存在,那么只需在B模块中提供一个对外的静态方法借口,以便A模块顺利获取接收
补充一下:
上面提到的f,既平台模块,这一个模块掌握两个列表,一个是平台列表,一个是塔的3D模型列表,对外都提供有静态的接口,其它单例中如果需要使用这两个列表,可以通过上面提到的接口轻松的获取
FR:徐海涛(Hunk Xu)
架构分横向和纵向,下面就分别具体的讨论一下这两个方面
横向上,主要从功能模块上划分,分车辆仓储管理模块、车辆调度模块,技能模块、路径模块、车AI、平台模块、鼠标点击建塔或者升级塔模块
FR:徐海涛(Hunk Xu) QQ群:386476712
以上所说的每一个模块,都被设计成一个单例
上面每个模块都有自己核心功能,这些功能就是其作为个体存在的价值体现
部分模块之间有功能交集,如下:
a+b
c+e
f+g
Tower Defense Toolkit的做法,在模块中使用静态的方法作为对外的窗口,这种方式我觉得非常好!
纵向上就是站在全局的角度看游戏,表现就是用GameControl这个类,来进行游戏的初始化工作
假设A模块中需要用到某个类型的List,而这个类型的List正好在B模块中已经存在,那么只需在B模块中提供一个对外的静态方法借口,以便A模块顺利获取接收
补充一下:
上面提到的f,既平台模块,这一个模块掌握两个列表,一个是平台列表,一个是塔的3D模型列表,对外都提供有静态的接口,其它单例中如果需要使用这两个列表,可以通过上面提到的接口轻松的获取
FR:徐海涛(Hunk Xu)
相关文章推荐
- 如何制作一个塔防游戏 Cocos2d-x 2.0.4
- TowerMadness之Forest Refuge攻略
- TowerMadness之Brewing Storm攻略 Blizzardgale
- 游戏教程 如何用cocos2d-x3.0做一款塔防 第一篇
- Cocos2D:塔防游戏制作之旅(一)
- Cocos2D:塔防游戏制作之旅(二)
- Cocos2D:塔防游戏制作之旅(三)
- Cocos2D:塔防游戏制作之旅(五)
- Cocos2D:塔防游戏制作之旅(六)
- Cocos2D:塔防游戏制作之旅(七)
- Cocos2D:塔防游戏制作之旅(八)
- Cocos2D:塔防游戏制作之旅(九)
- Cocos2D:塔防游戏制作之旅(十)
- Cocos2D:塔防游戏制作之旅(十一)
- Cocos2D:塔防游戏制作之旅(十二)
- Cocos2D:塔防游戏制作之旅(十三)
- Cocos2D:塔防游戏制作之旅(十四)
- Cocos2D:塔防游戏制作之旅(十五)
- Cocos2D:塔防游戏制作之旅(十六)
- Cocos2D:塔防游戏制作之旅(十七)