CCNode如何变换父亲节点parent
2015-01-10 20:09
369 查看
CCNode更换父亲节点,看似很简单,但其实没有那么简单
最初,我的想法就是,直接从父亲节点移除自己,再添加到新的父亲节点就OK
node->removeFromParent();
newParent->addChild(node);
但是后来发现,这样会把node释放掉
考虑了下,估计是因为cleanup掉了,所以又试了下面的方法
但是发现还是会把node释放掉,无论怎么做都不行,甚至下面的方法也不行
oldParent->removeChild(node);//oldParent->removeChild(node,false);
//oldParent->removeChildByTag(nodeTag);
//oldParent->removeChildByTag(nodeTag, false);
newParent->addChild(node);
最终找到的可行方案是:
node->getParent()->getChildren()->removeObject(node,false);
node->setParent(NULL);
newParent->addChild(node);
node->release();
最初,我的想法就是,直接从父亲节点移除自己,再添加到新的父亲节点就OK
node->removeFromParent();
newParent->addChild(node);
但是后来发现,这样会把node释放掉
考虑了下,估计是因为cleanup掉了,所以又试了下面的方法
node->removeFromParentAndCleanup(false); newParent->addChild(node);
但是发现还是会把node释放掉,无论怎么做都不行,甚至下面的方法也不行
oldParent->removeChild(node);//oldParent->removeChild(node,false);
//oldParent->removeChildByTag(nodeTag);
//oldParent->removeChildByTag(nodeTag, false);
newParent->addChild(node);
最终找到的可行方案是:
node->getParent()->getChildren()->removeObject(node,false);
node->setParent(NULL);
newParent->addChild(node);
node->release();
相关文章推荐
- CCNode如何变换父亲节点parent
- CCNode如何变换父亲节点parent
- 如何添加树的右键点击事件以及正确的节点点击事件(基于微软树)
- 在VCS cluster中,如何判断主节点?
- 读写XML 节点的例子,如何用C#写
- 关于如何移除TreeView中的所有选中节点的一点体会
- 如何让TreeView的节点不要生成超级链接
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- 如何在Visual Studio C#.Net WinForm 中 TreeView中右键选择节点进行处理
- 十分钟内学会:存储在二维表的树结构如何进行指定深度节点的查询
- treeview(winform)里如何用命令指定选中某一个节点,并引发afterselect事件?
- TreeView中如何选中一个父节点同时选中所有的子节点和孙节点。。。
- 如何C#中实现在TreeView查找某一节点
- 如何实现xslt文件中节点属性的自动更新
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- 如何在Visual Studio C#.Net WinForm 中 TreeView中右键选择节点进行处理?
- 如何在web.config 或者 app.config 文件中配置自定义节点
- 如何C#中实现在TreeView查找某一节点
- 如何取得treeview的节点的checkbox的value值
- 如何在XSL中得到某节点到根节点的全路径的所有节点?