微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cocos2dx核心概念

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

7. 游戏循环

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

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

原文地址:https://www.jb51.cc/cocos2dx/341495.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐