Cocos2d-x核心概念:
一、场景(Scene)和层(Layer)
场景:特定时间、特定地点发生的事件的集合
例如:
进入一个游戏的战斗场景后,整个的一个战斗过程就是一个战斗场景。
登录游戏的时候,需要输入账号密码,那么整个登录过程就是一个登录场景。
登录后与一个进度条的加载,叫资源加载场景。
层:图层
一个场景至少有一个层,可以有多个层。
二、精灵(Sprite)
在屏幕上移动的对象,它能被控制(在屏幕上移动的对象,可以被控制,但不是一定)
例如:吃鸡游戏人物角色,枪,车 都是精灵
背景图片,可以移动的角色,可以控制的手指,序列帧动画,骨骼动画。
运动方式:移动、旋转、缩放、动画等。
三、UI组件
界面上的元素
例如:按钮、文本框、文本标签、列表、进度条、滑动条、菜单(cocos2d菜单不好用,一般自己做),复选框。
四、导演(Director)
控制电影制作流程,指导团队完成各项任务。(可以看作一个总控)
节点类Node
什么是游戏元素?
游戏中的场景、精灵、文本、地图、菜单、层等任何对象。
Node的属性:

元素的基本属性 Node的属性
元素标识 _tag
元素的名称 _name
元素间的位置关系 _position,_positionZ,_anchorPoint
元素的大小 _contenSize
元素的旋转角度 _rotationX,_rotationY,_rotationZ-X,_rotationZ-Y
元素的缩放系数 __scaleX,_scaleY,_scaleZ
元素是否显示 _visible

如果节点被添加到一个父节点中,那么父节点的属性变化会被应用到子节点中。
创建Node对象:
cocos2d-x中创建对象使用create,而不是new关键字。

auto node = Node:: create();//创建Node对象
node -> setTag(100);     //设置标识
node -> setName("容器节点")    //设置元素名称
node -> setPosition(Vec2::ZERO);//设置坐标位置
node -> setAnchorPoint(Vec2::ANCHOR_MIDDLE);//设置锚点在正中心
node -> setRotation(90);//设置旋转90°
node -> setContentSize(Size(100*100));//设置大小100*100
node -> setScale(10);//设置放大10倍显示
node -> setVisible(false);//设置不显示

在Node上增加子节点:
在父节点中默认显示层级,添加默认元素标识的子节点。
parentNode->addChild(node);
在父节点中指定显示层级,添加默认元素标识的子节点
parentNode->addChild(node,zorder);
在父节点中指定显示层级,添加指定元素标识的子节点
parentNode->addChild(node,zorder, tag);
Node类中提供了三种添加子节点的重载方法:

1、Node::addChild(Node*node)
2、Node::addChild(Node*node,int zorder)
2、Node::addChild(Node*node,int zorder, int tag)

查找子节点
通过元素标识查找(优先考虑)
auto node = parentNode->getChildByTag(tag);
通过元素名称查找
auto node = parentNode->getChildByName(tag);

**遍历查找**
Node* findNode = nullptr;
int findTag = 20;
for(auto node:parentNode->getChildren())
{if(Node->getTag() == findTag){findNode = node;break;}
}```
**删除子节点:**
删除指定元素标识的节点
parentNode->removeChildByTag(tag);
删除指定元素名称的节点
parentNode->removeChildByName(name);
删除指定节点
parentNode->removeChild(child);
删除所有子节点
parentNode->removeAllChildren();

cocos2dx学习之路(二)相关推荐

  1. Cocos2d-x学习之路(一)

    前文 我呢,现在在一家手游公司上班,但是我之前一直学习的是做Android应用的,来这家公司后就在做SDK渠道接入的工作,工作好清闲啊,但是感觉自己来了一个多月了也没什么提高.可能是我太笨了吧.哇咔咔 ...

  2. 前端Vue学习之路(二)-Vue-router路由

    Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...

  3. Hive学习之路(二):Hive表操作详讲

    操作内容简介 一.操作前的准备 二.Hive表操作详讲 1. 创建数据库 2. 查看所有数据库/表 3. 在Hive上直接操作HDFS 4. 在Hive上直接执行终端命令 5. 创建数据表/查看表的信 ...

  4. python 剑指offer 学习之路(二)

    剑指offer 学习之路 合并两个排序的链表 树的子结构 顺时针打印矩阵 包含min函数的栈 从上往下打印二叉树 二叉搜索树的后序遍历序列 二叉树中和为某一值的路径 复杂链表的复制 数组中出现次数超过 ...

  5. zigbee学习之路(二)点亮LED

    一.前言 今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了. 二.原理分析 cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2 ...

  6. 我的cocos2d-x学习之路

    cocos2d-x的一些学习资源: 1,首先是,Cocos2d-x高级开发教程.pdf 2,youku上有一些视频教程,比如:龙灵修的专辑,http://i.youku.com/u/id_UNTc4N ...

  7. Spring Boot 学习之路二 配置文件 application.yml

    一.创建配置文件 如图所示,我们在resources文件夹中新建配置文件application.yml 结构图 二.一些基本配置 server: port: 8090 //配置端口session-ti ...

  8. C++学习之路二:C++

    目录 二.C++ 1. C,java,C++区别 2. C++ 对象模型(C++ class底层原理) 2.1 基本对象模型与C++对象模型 2.2 C++ 构造函数模型 2.3 C++继承的底层原理 ...

  9. 3D点云之PCL学习之路(二)

    VTK的基本知识(1) PCL使用的第三方库有 boost.eigen.FLANN.OpenNI2.Qhull.VTK. PCL的显示部分就是基于VTK来实现的.简单介绍一下这个库.主要参考依据是:& ...

最新文章

  1. 各种汇编器masm masm32 fasm nasm yasm gas的区别
  2. React从入门到精通系列之(12)深入理解JSX
  3. 用Docker打造多版本PHP运行环境
  4. 第3章 简单爬虫架构
  5. 5位最具影响力的程序员
  6. php 数组 json字段去不全,json_encode – PHP给出了不完整的json字符串
  7. 《走出软件作坊》读后感
  8. OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
  9. TCP/IP review之 静态路由
  10. 【图像融合】基于matlab高斯金字塔+拉普拉斯金字塔彩色水下图像融合【含Matlab源码 1629期】
  11. c语言dp算法解决背包问题,DP求解完全背包问题及其优化原理
  12. RtlUnicodeStringToAnsiString中第三个参数引发的bsod
  13. JAVA购物商城系统毕业设计 开题报告
  14. QQ空间 安卓App热补丁动态修复技术介绍
  15. 《深入学习VMware vSphere 6》——2.3 在VMware Workstation虚拟机中安装ESXi 6
  16. android自定义打电话界面,两种Android打电话实现方法
  17. Android发送短信的两种方法
  18. DUM 与 SIPstack多线程
  19. 砼匠无人值守称重系统硬件图文设置
  20. 27.FFmpeg+OpenGLES+OpenSLES播放器实现(一.音视频基础知识概要)

热门文章

  1. XT交易所Websocket API
  2. 关于Android中将PCM转AMR的问题探讨
  3. 基于Java毕业设计学生用品采购系统源码+系统+mysql+lw文档+部署软件
  4. 文档翻译用什么软件好?最好是不用下载软件的
  5. 计算机基础——二进制加法
  6. 老人地摊淘到旧书 发现刊有老伴年轻照片(图)
  7. 苹果手机用什么软件测试续航,苹果手机电池续航怎么样?7款iPhone续航测试
  8. 基于51单片机的温度探测
  9. Go语言-Go interface 接口的最佳实践
  10. 巴基斯坦银行联手支付宝推出区块链汇款服务