想请教下3.0以上版本,插件的set-property消息,参数要怎么写

试了各种写法都不对,抓瞎了

解决了,按照消息类型SetPropertyOptions描述,要传入三个值:uuid,path dump,测试了老半天,uuid 要传入node的uuid,不是 component的uuid(这个还好猜,因为传入compt.uuid 直接就报找不到node的错误)。

最难猜的是path字段,2.4版本写的是属性名,这里public.d.ts中的备注是:属性挂载对象的搜索路径,what? 讲道理如果第一个参数传入的是node.uuid,它咋知道我要修改哪个compt?如果一个node下挂了多个compt存在同名的属性,改哪个?目测这里就不可能传入属性名,总得有个东西用来识别是要修改哪个compt

在这里试了写cc.Label,Label,都不对,直到打印了update中传入的dump参数,在里面看到了一个path的写法:__comps__.1.string !好家伙…

正确的写法如下(这里以修改cc.Label的string 属性为例):
Editor.Message.request(“scene”, “set-property”, {
uuid: uuid,
path: “__comps__.1.string”,
dump: {
value: “”,
}
})

至于是1还是2还是3,update方法中传入的dump已经告诉我们path了。但是,真的很难猜啊…

是不是还有别的写法?

可以看一下Message DevTools
image

是我肤浅了。。原来还有这么好用的工具。。

大佬,请教下,如果要在属性扩展面板里面注册针对Node节点的扩展要怎么写配置? 官网文档上只有针对组件和资源的

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。