3.8编辑器下如何遍历所有预制体,删除添加组件

我想修改项目里所有预制体中包含Label的节点,把Lable换成自定义的一个组件。这要如何操作呀?我该如何遍历预制体,替换预制体,最后保存下来

Batch.zip (603 字节)
送分题,so easy
把Batch脚本挂到Canvas节点就行了!
为了避免误操作,脚本当前只是把所有Label的string设置成"布布想回家"
你只要把注释的两行代码放出来,再挂一次脚本就行

1赞

这应该是运行时的吧?能够做到编辑器里面一次性修改所有的吗?

就是编辑器里修改的啊,你但凡试一下就知道了

1 编写自定义脚本
2 在编辑器中绑定脚本
3 用文本编辑器打开prefab,找到你自定义的脚本数据
比如像这样的
image

然后你就可以你自己写个工具自动批量替换
替换过程
1 找到prefab
2 找到image 为"cc.Label"的组件,并记录Label挂载的"node"的 image
3 把他替换成你自己的自定义脚本数据,把"node"指向上一步得到的node的image

冷知识文件中的image 是指数组下标

1赞

看了您的脚本,需要打开过的预制体才行

谢谢,我现在打算这么干了