有段时间没有学习cocos2dx了,作为新人,自己觉得还是要稳扎稳打,一点点的去积累,梳理好每一个知识点,这样对自己的成长能够有一个更清晰的认识,以便做更好的提高。
从2013年8月开始接触cocos2dx,一直学习到12月份,之后去学习了unity3d引擎的基础部分,确实不错,很轻大。虽然说3d会是未来的主流趋势,但目前2d仍然是主流,而且自己的2d部分基础也不够硬,所以从今天开始,准备巩固一下自己的2d知识,并跟随公司项目做一些深化。首先从基础部分说起,先来概括的介绍一下cocos2d-x游戏开发中的重要知识模块,不同人有不同的概括,以下是我自己的总结:
(1)渲染模块:也是核心模块,通常刚开始学习cocos2d-x时,主要接触的就是这部分。包括以下几点:
①导演类(CCDirector)
②场景类(CCScene)
③图层类(CCLayer)
④精灵类(CCSprite)
⑤字体类(CCLabel--分三种)
⑥菜单类(CCMenu)
(2)动作模块:也是渲染模块的最重要的部分。
CCAction:是所有动作的基类,提供了常用的操作函数。由它衍生的有时间动作类(CCFiniteTimeAction)、跟随动作类(CCFollow)、 速度类(CCSpeed)。而时间动作类又分瞬时动作CCActionInstant和持续动作CCActionInterval,意思不言而喻。当动作创建好,只需由可渲染节点CCNode或其子类运行动作即可:CCNode* n = CCNode::create();n->runAction(action);
详细参考点击打开链接,以后我也会详细介绍。
(3)交互模块:
其实就是对玩家的操作进行响应,涉及到用户体验的问题。常用的方式有两种:触摸和重力感应
(4)地图模块:既游戏背景,大致分为三种:平面滚动(如魂斗罗)、斜45°视角(如仙剑奇侠传3)、俯视角(如三国志),砖块地图类:CCTMXTiledMap
(5)声音模块:主要分背景音乐和音效,使用的是开源引擎CocosDenshen中的单例类SimpleAudioEngin来做一些操作。
(6)文件操作:主要用于保存和读取用户或关卡数据。
(7)粒子系统:分自带的粒子系统和外部加载(如Particle Designer设计好的粒子系统)直接引用。
(8)物理引擎:使用Box2d引擎,这部分对于刚接触物理引擎的人来说比较难理解,实际在在3d引擎中确是最常用的。有许多概念需要理解,这里暂且不介绍。
(9)网络模块:重点,后面详细研究。
第一部分暂且做一个知识框架的梳理,后面会详细介绍使用细节。