cocos2d简介
Cocos2d作为一个流行的开源游戏引擎,包含了基本的图像处理引擎、声音处理引擎,同时Cocos2d还可以配合物理引擎box2d使用,实现更多仿真效果,是现在较为流行和先进的移动端游戏开发引擎。
cocos2d的基本构架
在cocos2d引擎中,提供了很多实现游戏设计的元素,概括来说,就是很多类,这些类可以完成不同的功能,包括实现人物、场景等,并能完成动画、音乐等。Cocos2d采用场景树结构来管理游戏对象,把一个游戏划分为不同的场景,场景又可以分为不同的层,一个层又可以拥有任意个可见的游戏对象.游戏对象又可以执行Action来修改其属性.每一个时刻都有一个场景在独立运行,通过切换不同的场景来完成一个游戏流程.[1]
1.CCNode类
CCNode是cocos2d中最重要的类,游戏中的每一个逻辑对象都是基于CCNode建立的。CCNode有如下的众多子类,包括场景、层、精灵(可理解为物体)等。除此之外,CCNode类关联一个CCAction类来完成动作控制,包括移动、切换等等,同理,CCAction也将完成所有子类的动作任务。其有如下特点[2]:
a) 是一个容器,可以包含任意多个其它节点. b) 可以执行一个行为(CCAction) c) 可以执行一定时的任务回调 d) 拥有坐标变换(transform)信息,如postion,scale,rotation等 e) 由于一个节点可以添加任意个子节点,所有的节点组成一个树状结构,因此父节点的坐标变换会影响子节点在世界坐标系中的坐标,一个节点只能拥有一个父节点
2.CCScene、CCLayer和CCSprite类
如上所说,CCNode会派生出很多子类,其中最多见的就是CCScene、CCLayer和CCSprite类。
CCScene类是游戏里的一个场景,但是每个场景由多个Layer组成,Layer以层叠的方式组成场景,而Sprite则是每个Layer里的每个角色。
参考:
[1][2] http://blog.csdn.net/liangneo/article/details/6770543