[提问]:插件中的 scene:set-property 消息到底怎么用?

cocos creator版本2.3.4

按照之前论坛的帖子是这样用:

// 修改精灵纹理
Editor.Ipc.sendToPanel('scene', 'scene:set-property',{
    id: node.getComponent(cc.Sprite).uuid,
    path: "spriteFrame",//要修改的属性
    type: "cc.SpriteFrame",
    value: { uuid: "xxxxx" },
    isSubProp: false,
});

发现报错(uuid是传的texture的uuid)

这里提示我们传入的value必须是cc.SpriteFrame的实例,很好,修改后:

// 修改精灵纹理
Editor.Ipc.sendToPanel('scene', 'scene:set-property',{
    id: node.getComponent(cc.Sprite).uuid,
    path: "spriteFrame",//要修改的属性
    type: "cc.SpriteFrame",
    value: new cc.SpriteFrame(res_o),
    isSubProp: false,
});

又警告,且修改未生效:

到这步实在不知道怎么操作了,求请教

不好意思之前帖子写的不是详细
这样的

// 修改精灵纹理
Editor.Ipc.sendToPanel('scene', 'scene:set-property',{
    id: node.getComponent(cc.Sprite).uuid,
    path: "spriteFrame",//要修改的属性
    type: "cc.SpriteFrame",
    value: { uuid: node.getComponent(cc.Sprite).spriteFrame._uuid },
    isSubProp: false,
});

使用例子可以参考这个插件,里面有用到: 《节点多个布局位置、嵌套预制节点、可视化编辑方案》插件

2赞

可以了,监听ipc消息看了一下

我发现对于修改的属性编辑器不会监测,有没有办法让场景编辑器知道我们修改了东西呢?不这样退出编辑器也不会有未保存提示,重启后插件对编辑器节点属性的修改就还原了

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