cocos2dx中Node类getParent和getChildByTag()学习体会

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2dx中Node类getParent和getChildByTag()学习体会相关的知识,希望对你有一定的参考价值。

參考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?Vector<?Node?* > &? getChildren?()

返回子节点数组。?很多其它...

virtual const?Vector<?Node?* > &? 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()学习体会的主要内容,如果未能解决你的问题,请参考以下文章

cocos2dx中坐标系

ligerui tree中点击本节点获取它的父节点

[cocos2dx笔记005]一个字符串管理配置类

cocos2dx 3.X 利用clippingNode把图片裁剪成圆形

[windows+cocos2dx]CCSprite精灵类

Cocos2dx-3.x 中CCCamera相机类详解及源码分析