-- 通过name获取节点 cc.exports.seekWidgetByName = function (node,name) if node and node:getName() == name then return node end local children = {node:getChildren()} local index = 0 while index < #children do index = index + 1 for k,v in pairs(children[index]) do if v.getName and v:getName() == name then return v end if v.getChildren then table.insert(children,v:getChildren()) end end end return nil end -- 通过tag获取 cc.exports.seekWidgetByTag = function (node,tag) if node and node:getTag() == tag then return node end local children = {node:getChildren()} local index = 0 while index < #children do index = index + 1 for k,v in pairs(children[index]) do if v.getTag and v:getTag() == tag then return v end if v.getChildren then table.insert(children,v:getChildren()) end end end return nil end -- 递归访问所有节点,执行func,参数为 当前节点node cc.exports.doFuncVisit = function (node,func) if (not node)or(not func) then return end func(node) if node.getChildrenCount and node:getChildrenCount() > 0 then for k,v in pairs(node:getChildren()) do doFuncVisit(v,func) end end end