Cocos2d-x中有很多概念这些概念很多来源于动画、动漫和电影等行业例如导演、场景和层等概念当然也有些有传统的游戏的概念。Cocos2d-x中核心概念导演 场景层节点精灵菜单动作效果粒子运动地图物理引擎。
导演
导演类Director(v3.0之前是CCDirector)用于管理场景对象采用单例设计模式在整个工程中只有一个实例对象。由于是单例模式能够保存一致的配置信息便于管理场景对象。获得导演类Director实例语句如下
auto director = Director::getInstance();
导演对象职责如下访问和改变场景访问Cocos2d-x的配置信息访问视图对象暂停、继续和停止游戏转换坐标。
Director类图
从类图中还可以看到它有一个子类是DisplayLinkDirector。
场景
场景类Scene(v3.0之前CCScene)是构成游戏的界面类似于电影中的场景。场景大致可以分为以下几类展示类场景。播放视频或简单的在图像上输出文字来实现游戏的开场介绍、胜利和失败提示、帮助介绍选项类场景主菜单、设置游戏参数等游戏场景。这是游戏的主要内容。
从类图可见Scene继承了Node类Node是一个重要的类很多类都从Node类派生而来其中有Scene、Layer等。
层
层是我们写游戏的重点我们大约 99%以上的时间是在层上实现我们游戏内容。层的管理类似于Photoshop中的图层它也是一层一层叠在一起。下面是一个简单的主菜单界面是由三个层叠加实现的。
为了让不同的层可以组合产生统一的效果这些层基本上都是透明或者半透明的。层的叠加是有顺序的如图所示从上到下依次是菜单层→精灵层→背景层。Cocos2d-x是按照这个次序来叠加界面的。这个次序同样用于事件响应机制即菜单层最先接收到系统事件然后是精灵层最后是背景层。在事件的传递过程中如果有一个层处理了该事件则排在后面的层将不再接收到该事件了。每一层又可以包括很多各式各样的内容要素文本、链接、精灵、地图等等内容。
下面是层类Layer的类图。
精灵
精灵类Sprite(v3.0之前CCSprite)是游戏中非常重要的概念它包括了敌人、控制对象、静态物体和背景等。 通常情况它会进行运动运动方式包括了移动、旋转、放大、缩小和动画等。
下面是Sprite类图从图中可见Sprite是Node派生类Sprite包含很多类型例如物理引擎精灵类PhysicsSprite也都属于精灵。
菜单
菜单在游戏在是非常重要的概念它提供操作的集合在Cocos2d-x中菜单类是Menu从类图可见Menu类派生于Layer。
在菜单中又包含了菜单项MenuItem从图中可见菜单项MenuItem有很多种形式的子类如MenuItemLabel、MenuItemSprite和MenuItemToggle它表现出不同的效果。每个菜单项都有三个基本状态正常、选种和禁止。
《Cocos2d-x实战 C++卷》现已上线各大商店均已开售
京东http://item.jd.com/11584534.html
当当http://product.dangdang.com/23606265.html
互动出版网http://product.china-pub.com/3770734
《Cocos2d-x实战 C++卷》源码及样章下载地址
源码下载地址http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1
样章下载地址http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1