赛高游戏引擎重构(二)Game Config
来源:互联网 发布:淘宝上的皮鞋 编辑:程序博客网 时间:2024/05/06 11:54
重构任务
1.把 Game Config 的 json 配置序列化为类,去掉一大堆接口
2.把 Game Launcher 中加载图片的逻辑分离开来
重构前
1.TGEGameConfig 非常大体积,一大堆接口:
skin.json 每扩展一个字段 TGEGameConfig 都要扩展一个方法,例如加一个:
需要加一个方法:
2.TGEGameLauncher 下面有几个加载图片的方法,放在这里有点奇怪:
重构思路
1.skin.json 本身就是一个 json 字典,所以建模,把 json 转换为 model,就不需要每加一个字段就加一个解析的方法了。
2.对于读取图片的接口,由于几乎每个接口都要用到 TGEGameLauncher 的 TGEGameConfig 类,有几个接口要用到 TGELocationsRuntime 和 TGEScenesRuntime 类,所以不能把读取图片的逻辑放在 TGEGameConfig 或者任意一个 runtime 类中,避免各个类知道彼此而耦合,所以最后还是把这段逻辑放在 TGEGameLauncher + Resource 这个 Category 中。
重构后
1.TGEGameConfig 更加清爽:
建模后的 Skin Models:
如果需要加字段,就直接在 Model 中增加,并且在 Mapper 方法中加上字段。扩展较为方便。
2.参加 TGEGameLauncher+Resource,其中读取图片用 TGESandboxHelper 和 TGEImageCache 来读取和缓存。
以后需要增加读取音乐素材的逻辑也可以在这里写。
0 0
- 赛高游戏引擎重构(二)Game Config
- 赛高游戏引擎重构(一)Host App 扩展 TGEGameModel 的方案
- Game Engine Architecture(《游戏引擎架构》)
- 游戏引擎剖析(二)
- 游戏引擎剖析(二)
- 游戏引擎剖析(二)
- 游戏引擎剖析(二)
- 游戏引擎剖析(二)
- Python游戏引擎开发(二):创建窗口以及重绘界面
- [Game Engine]《游戏引擎架构》
- 3D游戏引擎学习三(游戏引擎核心类Game)
- 【转】游戏引擎剖析(二)
- 漫谈3D游戏引擎(二)
- 游戏引擎全剖析(二)
- 《游戏引擎架构》读书笔记(二)
- 游戏引擎多线程(二)
- 游戏引擎Andengine总结(二):AndEngine引擎运行原理
- 基于引擎开发HTML5游戏实战(二)---游戏剧本
- 离线安装Chrome Postman 和Postman Interceptor 插件
- C#权威指南读书笔记——001
- OpenCV入门笔记(七) 文字区域的提取
- 软件测试——PreDate函数
- 重新启动Linux的学习之旅(20170319)
- 赛高游戏引擎重构(二)Game Config
- 编译技术初探-作业摘抄
- 女朋友总是无理取闹怎么办 10种不能要的女朋友
- Hibernate配置文件和核心配置文件及其API详解
- 安卓图片压缩处理的终极方法,适用于各种机型
- 梯度下降法
- 简单而又难的小考
- jQuery性能优化的方式
- matlab 图片显示出现中文乱码