如题,项目使用中获取预制体节点、组件使用不方便。
地址:https://github.com/yuhaoyuxuan/cocos-copyPrefabName
ComponentFindUtils.ts放到脚本内
新增3.0的支持
新增2.0和3.0的例子
如题,项目使用中获取预制体节点、组件使用不方便。
star star star
这个好。。适合经常用find的同学。。
大佬,这个,怎么用?选中预制再执行插件好像没什么反应
控制台没有打印吗?
没呢,点了。。。什么反应都没。。。
你的引擎版本号多少,等周一去公司了我这个案例
2.4.7~谢谢大佬
那就奇怪了。。我再看看,谢谢大佬!
你的项目可以跑起来,是我哪个步骤错了?
做预制体,挂脚本,脚本上加上那些代码,然后执行插件,但是没输出。。
现有命名 节点名字包含(node、lbl、img、item)
node = cc.Node
lbl = cc.Label
img = cc.Sprite
item = 用户自定义脚本(如果挂在多个自定义脚本 会默认取 第一个自定义脚本为类型)
根据命名规则,你命名包含这些吗?
哦,明白了,节点还要命名。。我再试试
楼主这个不错,我之前也做过find节点的工具函数,吸取了CSS的选择器
思路。
为了使路径表达更简洁且可靠,我引入了两个定位符号:
/: 右斜杠,代表 1 级子节点(与 cc.find 相同)
>: 大于符号,表示 1~n 级子节点
我们可以将上面 btn_home 节点的节点路径字符串改为,如下方式:
godGuide.find('Canvas > btn_home');
如果我们默认从 Canvas 节点开始检索,也可以直接写成下面这样:
//注意:确保场景中只有一个名字为 btn_home 的节点
godGuide.find('btn_home');
这将从 Canvas 节点一层层开始遍历,要提高检索节点的效率可以改为:
godGuide.find('Home > main_btns > btn_home');
如果场景中有同名节点,也可以使用 '>'
符号解决,但同一层级不能有同名节点(如果你需要检索该节点的话)。
'>'
符号也可与'\'
混合使用,如下:
let btn_home = godGuide.find('Home>main_btns/btn_home');
let btn_level = godGuide.find('Home>main_btns/btn_level');
需要注意的是,节点名命不要使用'>'
、'\'
这两个字符 。
谢谢宝贵的经验与建议 。
这个最大的优点在于自动化。方便使用。 前期规定好命名规则后,开发很方便。