Cocos2d-x的开发比较重要的几个概念:
1. 导演
导演类是整个游戏的组织者,是控制核心,管理着整个游戏的各个场景。使得这个游戏的场景(CCScene)、布景(CCLayer)、精灵(CCSprite)按照游戏的规则有序的的运行。它可以获取当前运行的场景,可以切换到新的场景或者压栈一个新的场景。当压栈一个新的场景后,导演类会暂停前一个场景,暂停的场景会保存在内存总,当新入栈的场景出栈后,保存的那个场景就会恢复。
导演类还负责OpenGL ES的初始化工作。
在coco2d-x里面对应的的类是CCDirector,使用单例模式实现,整个游戏只有一个导演类,可以通过CCDirector::sharedDirector()获取。继承关系:
2. 场景
场景相当于是一个独立的舞台,在里面安置好道具,加上人物,成就一台完整的表演。一般游戏包含多个场景,例如:简介场景、菜单场景、不同的关卡场景等, 他们之间是独立开来的。而且在给定的时间段内只能有一个活跃的场景。而场景之间的切换就交给了导演类控制了。场景中包含很多节点类,包括布景层类、精灵类等,这些节点类赋予了该场景独立的界面和行为。其中场景类(CCTransitionScene)可以给场景之间的切换创建不同的效果。
类名为CCScene,继承关系:
3.布景
一个场景可以由几个布景层组成。也是由于这些布景层,使得场景有了独特的布局和行为。它属于节点类,能处理触屏时间,能够采用合适的方式去显示自己,从而让游戏者看得到它后面的布景层。当场景类产生一个触屏事件,该事件会传递到该场景中的每一个布景层,直到有布景层处理该指定的行为。引擎中也定义了一些常用的布景层类,例如菜单类(CCMenu)、颜色类(CCColorLayer)等。布景层里面包含精灵类、标签类以及其他的一些布景层。
类名为CCLayer,继承关系:
4.精灵
它是由一张2D图片构成,能够进行移动、伸缩、翻转等各种动作,所以游戏中的主角类、敌人类,或者NPC类都属于此类。
类名为 CCSprite,继承关系: