Cocos2dx核心概念

来源:互联网 发布:推荐信 出国留学 知乎 编辑:程序博客网 时间:2024/06/10 02:55

Cocos2dx核心概念


1. 导演

  • 功能:用于管理场景,采用单例模式,保存一些配置信息;

    1. 访问改变场景;
    2. 访问cocos2dx的配置信息;
    3. 暂停、继续和停止游戏;
    4. 转换坐标;
  • 获取导演的实例

    auto director = Director::getInstance();


2. 场景

  • 类似电影的场景
  • 展示类场景;
  • 选项类场景;
  • 游戏场景;

3. 层

层是游戏的重点,是一层又一层的叠加在一起,层的叠加是由顺序的。
菜单层、精灵层、背景层;
- Layer类


4. 精灵

精灵:可以是敌人、控制对象、静态物体和背景等;
功能:

  • 移动
  • 旋转
  • 放大
  • 缩小
  • 动画
    Sprite类;

5. 菜单

菜单类Menu类,包含菜单项MenuItem类,每个菜单都有的三种状态:正常、选中和禁止。

  • MenuItemLabel;
  • MenuItemSprite;
  • MenuItemToogle;

6. Node

cocose2dx采用树形管理场景、层、菜单、文本、地图和粒子系统等节点对象。

1.创建节点:Node *node = Node::create();
2. 增加新的节点: ndoe->addChild(childNode, 0, 123);
3. 查找子节点:Node *node = ndoe->getChildByTag(123);
4. 删除子节点,并停止节点的一切动作:noderemoveChildByTag(123);
5. 通过Node指针删除子节点:node->removeChild();
6. 删除所有子节点:node->removeAllChildWithCleanup(true);
7. 从父节点中删除node节点,停止一切动作:noderemoveFromParentAndCleanup(true);

    1. position:位置属性
    1. anchorPosition:锚点属性

7. 游戏循环

是由导演对象管理和维护,需要精灵运行起来,可以使用定时器(scheduler)对精灵对象进行调度。

  • Node中调用函数主要有:
  1. void scheduleUpdate(void):每个Node对象只调用该函数,那么这个Node对象就会定时每帧调用一次自己的updata(float dt)函数;
  2. void schedude(SEL_SCHEDULE selector, float interval)
  3. void unschedule(Updata(void));
  4. void unschedule(SEL_SCHEDULE selector);
  5. void unscheduleAllSelector(void);
0 0
原创粉丝点击