加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2dx核心概念

发布时间:2020-12-14 16:30:42 所属栏目:百科 来源:网络整理
导读:Cocos2dx核心概念 1. 导演 功能:用于管理场景,采用单例模式,保存一些配置信息; 访问改变场景; 访问cocos2dx的配置信息; 暂停、继续和停止游戏; 转换坐标; 获取导演的实例 auto director = Director::getInstance(); 2. 场景 类似电影的场景 展示类场

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,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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读