參考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. python基础-UDP、进程、进程池、paramike模块

    1 基于UDP套接字1.1 介绍 udp是无连接的,是数据报协议,先启动哪端都不会报错 udp服务端 import socket sk = socket() #创建一个服务器的套接字 sk.bind( ...

  2. BZOJ2090 : [Poi2010]Monotonicity 2

    设f[i]表示以i为结尾的最长的合法序列的长度,=号直接维护,<号和>号用两棵树状数组维护即可,时间复杂度$O(n\log n)$. #include<cstdio> #def ...

  3. 使用NewLife网络库构建可靠的自动售货机Socket服务端(一)

    最近有个基于tcp socket 协议和设备交互需求,想到了新生命团队的各种组件,所以决定用NewLife网络库作为服务端来完成一系列的信息交互. 第一,首先说一下我们需要实现的功能需求吧 1,首先客 ...

  4. input文字颜色、光标颜色

    <input type="text" placeholder="输入框"> input{ color: red;/*输入文字.光标颜色*/ -web ...

  5. 打印 Go 结构体(struct)信息:fmt.Printf("%+v", user)

    package main import "fmt" // 用户 type User struct { Id int Name string Age int } func main( ...

  6. bash 脚本中分号的作用

    在Linux bash shell中,语句中的分号一般用作代码块标识 1.单行语句一般要用到分号来区分代码块.比如: weblogic@pmtest:/$if [ "$PS1" ] ...

  7. ASP.NET Web API 中的返回数据格式以及依赖注入

    本篇涉及ASP.NET Web API中的返回数据合适和依赖注入. 获取数据 public IEnumerable<Food> Get() { var results = reop.Get ...

  8. 【jvm】java查看内存使用jmap,jstat和jstack使用 ,docker启动服务下查看jvm使用情况

    [声明,如果是docker启动的服务,可以在进入容器内后,再使用如下命令操作] [docker exec -it 容器ID  /bin/bash     即可进入容器内] [如果不是docker启动的 ...

  9. 【docker】docker的简单状态监控

    命令: docker stats 可以使用占位符,显示想要看的信息: docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{ ...

  10. ibatis.net:第六天,QueryForList

    xml <statement id="FindOrdersByCustomer" parameterClass="string" resultClass= ...