如题,广度搜索子节点,代码笔记:
-- 通过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 nilend-- 通过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 nilend-- 递归访问所有节点,执行func,参数为 当前节点nodecc.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 endend总结
以上是内存溢出为你收集整理的cocos2dx+lua 优先广度 搜索子节点全部内容,希望文章能够帮你解决cocos2dx+lua 优先广度 搜索子节点所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)