cocos2d-x初学者教程(三)
上一节我们主要了解了MVC框架,本文将介绍基本的游戏程序框架的搭建。希望各位大神不吝分享经验,给予批评指正,我将感激不尽。本篇使用的Cocos2d-x版本为Cocos2d-x 3.2。
Cocos2d-x项目的游戏框架搭建
游戏与应用项目有许多相似之处,只是侧重点不同。手机游戏更注重用户体验,追求娱乐化和情感化,让玩家获得“爽”感;而手机应用则更强调简单明了,以优先完成业务为重点。
基于Cocos2d-x引擎搭建游戏框架,需要做好以下准备工作:
一、分析项目
1. 明确游戏类型和机制
首先,要确定游戏的类型和机制。按照目前市场情况,游戏类型可分为:
- 动作类
- 策略类
- 角色扮演类
- 体育类
- 驾驶模拟类
- 经营模拟类
- 冒险类
- 益智解谜类
- 社交游戏类
游戏机制主要有:
- 物理机制
- 经济机制
- 渐进机制
- 战术机动机制
- 社交互动机制
了解游戏的类型和机制是选择技术的基础依据。例如,《刀塔传奇》需要用到骨骼系统,《愤怒的小鸟》则依赖物理系统。后续可根据策划要求添加基础系统。
2. 确定游戏联网类型和通讯方式
要明确游戏是单机游戏、单机弱联网游戏还是强联网游戏,以及通讯采用长连接还是短连接。
3. 明确逻辑所在端
确定游戏逻辑是在服务端还是客户端,这一点非常重要,后续会详细说明其中涉及的内容。
二、搭建项目
完成基本需求分析后,即可创建Cocos2d-x项目。耐心等待片刻,项目创建成功。
打开项目后,会发现Cocos2d-x已经集成了一些系统,如Chipmunk物理引擎及Audio系统。接下来进行编译,熟悉的HelloWorld界面就会出现。
基于需求,完成一个游戏通常需要以下系统的支持:
1. 网络管理器
网络管理器一般根据游戏需求采用短连接或长连接。Cocos2d-x提供了network库用于短连接;对于长连接,需要使用第三方库,个人推荐ODSocket,因为它兼容Android和iOS,具有良好的跨平台性。
2. 数据管理器
数据管理器是封装好的单例数据模块,便于管理和调用数据集。
3. UI管理器
UI管理器是我们自己封装的管理工具,使用前需要熟悉Cocos Studio。使用Cocos Studio可以方便地处理UI相关问题,如更换IP等,无需程序人员过多参与。下一节将详细讲解UI管理器,使用Cocos Studio时必须添加相应的库文件。
4. 数据库管理器
对于中型及大型游戏,通常需要使用数据库。Cocos2d-x为我们提供了sqlite3库,开发者需要熟悉基本的SQL语句,至少要掌握增删改查操作。
5. 加密管理器
提到加密是因为游戏逻辑可能在服务端或客户端。大部分游戏的逻辑放在服务端,主要是出于加密考虑,客户端仅负责显示逻辑和提交业务。但也有不少游戏将逻辑放在客户端,服务端负责保存数据和数据校验。个人比较倾向于将逻辑放在客户端,这样可以大大减轻服务器压力,但客户端必须做好加密工作。客户端加密可采用Base64、MD5、AES等多种手段,具体选择要根据项目实际情况决定。
后续我会逐步讲解这些管理器。如果时间允许,我会尽量为大家带来一个实际项目,通过边写边学的方式,相信学习效果会更好。本节内容到此结束,下一节再见!