《creator插件开发常用API命令列表》备忘录

你那个drag-start要是有这个神器,就不愁了。

如果刚开始就发现这点,就不用走那么多坑了哎

mark!

标记一下 mask

mark!

这本是官方团队要做的事情,却让用户摸索出来,这脸打得可疼不?

mark!

mark!

使编辑器标记需要保存状态, 关闭编辑器时会提示需要保存,两个做法:

1.使用 ‘scene:set-property’ 修改属性做法

// 修改精灵纹理
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,
});

// 通过以下3个方法给编辑器标记已保存状态,不知道会不会出bug
// 提交撤销记录
Editor.Ipc.sendToPanel('scene', 'scene:undo-commit'); 
// 撤销
Editor.Ipc.sendToPanel('scene', 'scene:undo');
// 重做
Editor.Ipc.sendToPanel('scene', 'scene:redo')

2.直接在scene-info.js 脚本修改node属性做法

let node = cc.director.getScene().children[0];
if(!node){
    return;
}
let uuid = node.uuid;
let opacity = node.opacity;
Editor.Ipc.sendToPanel('scene', 'scene:set-property',{
    id: uuid,
    path: "opacity",//要修改的属性
    type: "number",
    value: opacity,
    isSubProp: false,
});
// 撤销
Editor.Ipc.sendToPanel('scene', 'scene:undo');
// 重做
Editor.Ipc.sendToPanel('scene', 'scene:redo')
Editor.Ipc.sendToPanel('scene', 'scene:undo-commit'); 

场景编辑器 json数据信息

Editor.remote.stashedScene
Editor.remote.currentSceneUuid

2赞

引擎组都没你知道得多 :rofl:

开发大一点的插件过程就像是在用已知数x推导出未知数y值感觉…

好贴
涨姿势了

战略mark!

挖坟,收藏,手动点赞!

1赞

好贴,不mark了,手动点赞表达诚意

1赞

我又来了,有没有办法在插件里拿到这个面板的设置?

mark 记录一下

自问自答,需要读取工程目录下的/local/settings.json文件

1赞

image

好贴,mark