.h中:
#ifndef __SANGUO_UTILS_H__#define __SANGUO_UTILS_H__#include "cocos2d.h"USING_NS_CC;/*** 在节点树中按名字来寻找节点** @param root 根节点* @param name 节点名称** @return 找到返回对应节点,找不到返回null*/cocos2d::Node* seekChildByname(cocos2d::Node* root,const std::string& name);template <class RET>RET seekChildBynameWithRetType(cocos2d::Node* root,const std::string& name){ auto ret = dynamic_cast<RET>(seekChildByname(root,name)); CCASSERT(ret,"Can't get Object with the name or the type"); return ret;}#endif
.cpp中
#include "utils.h"Node* seekChildByname(Node* root,const std::string& name){ if (!root) { return nullptr; } if (root->getname() == name) { return root; } const auto& arrayRootChildren = root->getChildren(); for (auto& subNode : arrayRootChildren) { auto child = dynamic_cast<Node*>(subNode); if (child) { auto res = seekChildByname(child,name); if (res != nullptr) { return res; } } } return nullptr;}总结
以上是内存溢出为你收集整理的一个寻找cocostudio任意节点的函数全部内容,希望文章能够帮你解决一个寻找cocostudio任意节点的函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)