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

需要的注释都没有,不需要的注释写得明明白白

没有注释都是我还没用到过的哈哈

《creator插件开发通讯命令列表》备忘录

《《《creator插件开发通讯命令列表》备忘录》备忘录》备忘录

《creator插件开发通讯命令列表》备忘录

打印整个编辑器事件分发

electron = require('electron')
func = electron.ipcRenderer.send
electron.ipcRenderer.send = (...i)=>{console.log(...i); return func(...i)}


// 监听事件
electron.ipcRenderer.on(name,callback);
// 移除事件
electron.ipcRenderer.removeListener(name,callback);
2赞

你那个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赞