最近游戏里需要遍历游戏中的所有节点,也就是node.
使用递归遍历,不多说了 直接贴代码。
1.取得当前运行的场景
CCScene * sence = CCDirector::sharedDirector()->getRunningScene();
ergodicAllNode(sence);
2.递归函数
//递归遍历
static void ergodicAllNode(CCNode *rootNode)
{
CCObject *temp;
//获得rootnode根下的节点
CCArray *nodeArray = rootNode->getChildren();
CCARRAY_FOREACH(nodeArray, temp)
{
//判断rootnode的节点下还是否存在节点 遍历调用
if(((CCNode*)temp)->getChildrenCount())
ergodicAllNode((CCNode*)temp);
//这里 do something
}
return ;
}
初学cocos2dx,共勉!!