Cocos2dx核心概念
1. 导演
2. 场景
- 类似电影的场景
- 展示类场景;
- 选项类场景;
- 游戏场景;
3. 层
层是游戏的重点,是一层又一层的叠加在一起,层的叠加是由顺序的。
菜单层、精灵层、背景层;
- Layer类
4. 精灵
精灵:可以是敌人、控制对象、静态物体和背景等;
功能:
5. 菜单
菜单类Menu类,包含菜单项MenuItem类,每个菜单都有的三种状态:正常、选中和禁止。
- MenuItemLabel;
- MenuItemSprite;
- MenuItemToogle;
6. Node
cocose2dx采用树形管理场景、层、菜单、文本、地图和粒子系统等节点对象。
1.创建节点:Node *node = Node::create();
2. 增加新的节点: ndoe->addChild(childNode,123);
3. 查找子节点:Node *node = ndoe->getChildByTag(123);
4. 删除子节点,并停止节点的一切动作:noderemoveChildByTag(123);
5. 通过Node指针删除子节点:node->removeChild();
6. 删除所有子节点:node->removeAllChildWithCleanup(true);
7. 从父节点中删除node节点,停止一切动作:noderemoveFromParentAndCleanup(true);
-
- position:位置属性
-
- anchorPosition:锚点属性
7. 游戏循环
是由导演对象管理和维护,需要精灵运行起来,可以使用定时器(scheduler)对精灵对象进行调度。
- void scheduleUpdate(void):每个Node对象只调用该函数,那么这个Node对象就会定时每帧调用一次自己的updata(float dt)函数;
- void schedude(SEL_SCHEDULE selector,float interval)
- void unschedule(Updata(void));
- void unschedule(SEL_SCHEDULE selector);
- void unscheduleAllSelector(void);