当前我们的项目,节点非常多,搜索很麻烦。
移交的时候,看到脚本,但是不知道脚本挂载的地方是哪儿。
creator上可以右键搜索,但是只能搜索到场景,好像无法确定节点。
目前没有这项功能,但是有个比较笨的方法,就是你们可以为每一个脚本的properties对象上加一个组件名,这样只要他被添加到节点上了都会出现在场景文件上,建议把脚本文件放在节点Node属性下的第一位,然后搜索的时候找下组件名,就能对应找到节点名,然后在层级管理器上找到它。
{
"__type__": "cc.Node",
"_name": "New Node", //节点名
"_objFlags": 0,
"_parent": {
"__id__": 2
},
"_children": [],
"_tag": -1,
"_active": true,
"_components": [
{
"__id__": 12
}
],
"_prefab": null,
"_id": "85ZeJERNNJv4YDshHUcytE",
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_cascadeOpacityEnabled": true,
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_contentSize": {
"__type__": "cc.Size",
"width": 0,
"height": 0
},
"_rotationX": 0,
"_rotationY": 0,
"_scaleX": 1,
"_scaleY": 1,
"_position": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_skewX": 0,
"_skewY": 0,
"_localZOrder": 0,
"_globalZOrder": 0,
"_opacityModifyRGB": false,
"groupIndex": 0
},
{
"__type__": "0e1bdxCH4BGcL7D8arxyAOF",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 11
},
"_enabled": true,
"_componentName": "test" //组件名
},
找到该组件uuid对应的 __type__属性,然后在代码编辑器中搜该 type
我试了一下,我搜索了一个脚本内的属性,然后通过该属性找到的 .fire文件内找到这个属性名字,然后一直往上排查,一个个看nodename,最后找到了。。。。
这方法也真的是没办法了吧
还有就是脚本属性里挂载了一个节点【该节点可能跟其他节点重名】,我点击这个属性,并不能在左侧的树上自动选中。我觉得这个也很重要的功能。如果可以,最好也做一下吧。
当前的layout在很多场合不太好用,因为当前节点的层级是通过zindex来确定的,layout的排序居然也是这样确定,这样在一些需要排序方向和层级方向不同的时候不能用了。
搜索属性的话,不太方便,因为看到的是代码。通过代码里属性来搜索是可行的。
我们这边从规范上解决这个问题, 脚本组件只允许挂载在场景根节点或者预制根节点上.
我是在要找的脚本上输出log信息,内容是节点名字和父节点名字,可以循环输出到根节点为止,找到之后再删掉log。算是比较笨的方法了吧
场景文件时什么意思啊,层级管理器吗
我之前的回复不是最好的方案,在编辑器中的层级管理器搜索框中输入 t: + 你的组件名,就可以找到节点树中所有使用该组件的节点。
另外在资源管理器中,右键脚本,点击“查找使用”,也可以找到所有使用了该脚本的场景了预制体。
1赞