參考http://cn.cocos2d-x.org/doc/cocos2d-x-3.0/d3/d82/classcocos2d_1_1_node.html

当中和child、parent有关的成员函数例如以下:

Children and Parent
virtual void  addChild (Node *child)
加入一个子节点到容器内。z-order是0. 很多其它...
virtual void  addChild (Node *child,
int localZOrder)
加入一个子节点到容器中,參数有一个局部Z轴顺序。 很多其它...
virtual void  addChild (Node *child,
int localZOrder, int tag)
加入一个子节点到容器中,有Z轴顺序和一个标记。

 很多其它...

virtual Node *  getChildByTag (int
tag)
从容器中得到一个子节点通过它的标记。 很多其它...
virtual VectorNode *
> & 
getChildren ()
返回子节点数组。 很多其它...
virtual const VectorNode *
> & 
getChildren ()
const
virtual ssize_t  getChildrenCount ()
const
返回子节点的总数 很多其它...
virtual void  setParent (Node *parent)
设置父节点Sets the parent node 很多其它...
virtual Node *  getParent ()
返回指向父节点的指针。 很多其它...
virtual const Node *  getParent ()
const
virtual void  removeFromParent ()
从父节点中删除一个节点。有一个cleanup參数。

假设这个节点是一个孤节点,那么什么都不会发生。 很多其它...

virtual void  removeFromParentAndCleanup (bool cleanup)
从父节点中删除一个节点 假设这个节点是一个孤节点。那么什么都不会发生。

 很多其它...

virtual void  removeChild (Node *child,
bool cleanup=true)
从容器中删除一个孩子,取决于cleanup參数同一时候会清除全部的活动的动作。 很多其它...
virtual void  removeChildByTag (int
tag, bool cleanup=true)
从一个容器中删除一个孩子通过标记值。取决于cleanup參数同一时候会清除全部的活动的动作。 很多其它...
virtual void  removeAllChildren ()
从容器中删除全部的孩子,with a cleanup。 很多其它...
virtual void  removeAllChildrenWithCleanup (bool cleanup)
从容器中删除全部的孩子, 取决于cleanup參数同一时候会清除全部的活动的动作。 很多其它...
virtual void  reorderChild (Node *child,
int localZOrder)
对一个孩子又一次排序,设定一个新的z轴的值。 很多其它...
virtual void  sortAllChildren ()
在绘画之前,排列全部的孩子数组一次,而不是每次加入或者删除子节点时都排序。 这种方法能够大量地提高性能。 很多其它...

详细怎么用我也在学习中。可是比較实用的就是通过此。你能够调用节点(Node),一个游戏中的节点树随意一点Node对象都能够通过此方法获得,方便游戏开发。

举个样例

比方一个跑酷游戏scene有三个layer(动画,背景,分数)当中动画layer状态改变了。逻辑上要求还有一个分数layer做出对应改变。通过child和parent方法就能够非常高速定位到分数layer。

【cocos2dx中Node类getParent和getChildByTag()】学习体会的更多相关文章

  1. cocos2d-x中Node与Node层级架构

    Cocos2d-x采用层级(树形)结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点(Node)对象.一个场景包含了多个层,一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结构中的节 ...

  2. cocos2dx中node的pause函数(lua)

    time:2015/05/14 描述 lua下使用node的pause函数想暂停layer上的所有动画,结果没有效果 1. pause函数 (1)cc.Node:pause 代码: void Node ...

  3. cocos2d-x 中菜单类

    菜单相关类包含:菜单类和菜单项类,菜单类图,从类图可见Menu类继承于Layer. 菜单项类图,从图中可见所有的菜单项都是从BaseMenuItem继承而来的,BaseMenuItem是抽象类,具体使 ...

  4. cocos2d-x中Node中重要的属性

    Node还有两个非常重要的属性:position和anchorPoint. position(位置)属性是Node对象的实际位置.position属性往往还要配合使用anchorPoint属性,为了将 ...

  5. cocos2dx中的内存管理方式

    转载:http://www.cocoachina.com/bbs/read.php?tid=195219 今天看了一下cocos2dx的内存管理机制,有些地方不太好理解搞了挺长的时间,现在感觉自己理解 ...

  6. COCOS2D-X学习笔记(一)-----Node类的学习

    Node类(在3.0版本以下叫CCNode):节点类. 本文记录以下几个方法的学习笔记: init()和onEnter()这俩个方法都是CCNode的方法.其区别如下: 1.其被调用的顺序是先init ...

  7. 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

    <Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...

  8. 《Cocos2d-x游戏开发实战精解》学习笔记2--在Cocos2d-x中显示一行文字

    在Cocos2d-x中要显示文字就需要用到Label控件.在3.x版本的Cocos2d中,舍弃了之前版本所使用的LabelTTF.LabelAtlas.LabelBMFont 3个用于显示文字的类,而 ...

  9. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

随机推荐

  1. 理解%r和%s的区别

    理解%r和%s的区别 %r会重现所表达的对象,%s会将所有转成字符串 eg1: print('i am %s years old' % 22) print('i am %r years old' % ...

  2. 13、Redis的发布订阅模式

     写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------------------- ...

  3. [Java]MyBatis框架

    在这里学习 >>mybatis 简介和入门[视频免费观看] >>http://legend2011.blog.51cto.com/3018495/908956[MyBatis学 ...

  4. Slickflow.NET 开源工作流引擎高级开发(一) -- 流程外部事件的调用和变量存储实现

    前言:流程实现基本流转功能外,通常也需要调用外部事件,用于和业务系统的交互,同时存储一些流程变量,用于追踪和记录业务数据变化对流程流转的影响. 1. 流程事件 流程执行过程中,伴随各种事件的发生,而且 ...

  5. 高性能server分析 - Hadoop的RpcServer

    一.Listener Listener线程,当Server处于运行状态时,其负责监听来自客户端的连接,并使用Select模式处理Accept事件. 同时,它开启了一个空闲连接(Idle Connect ...

  6. MHDD硬盘坏道检测修复教程(转)

    MHDD算是在DOS下比较专业的检测工具,比一些GUI的好用很多,并且现在有人专门做成硬件机器卖到了电脑城,电脑城一般倒卖硬盘的都使用这种机器. 进入MHDD 上面图片中就可以看到硬盘是ST34081 ...

  7. android 控件: xml 设置 Button 按下背景

    本篇文章讲述了不使用java代码来改变 Button 按下和未按下时的背景. 首先准备两张图片, 分别是按钮按下和按钮未按下的. 在res/drawable 文件夹中创建一个button_select ...

  8. ADO.NET理论+实践

    题记: 每一事物的产生和存在都有其特定的理由.  理论:ADO.NET是一组与数据源进行交互的面向对象类库.通常情况下数据源就是数据库,当然同样也能是文本文件,Excel表格或XML文件,我们知道的数 ...

  9. git 自动转换行符的坑爹案例

    本人写的脚本都是在unix上运行的,但是编写有时候喜欢使用Git拉去到windows的ide进行编写,毕竟我的unix只有命令行的没有ide, 殊不知有一天我的sh执行时出现错误 -bash: ./d ...

  10. SQLCE使用

    Windows Phone的本地数据库SQL Server CE是7.1版本即芒果更新的新特性,所以你要在应用程序中使用SQL Server CE数据库必须使用Windows Phone 7.1的AP ...