一个寻找cocostudio任意节点的函数

一个寻找cocostudio任意节点的函数,第1张

概述.h中: #ifndef __SANGUO_UTILS_H__#define __SANGUO_UTILS_H__#include "cocos2d.h"USING_NS_CC;/*** 在节点树中按名字来寻找节点** @param root 根节点* @param name 节点名称** @return 找到返回对应节点,找不到返回null*/cocos2d::
.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任意节点的函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1034914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存