插件对于五月份前的我也是个小白,自从被虐的死去活来,才发现插件是个玄学
这个是异步的,不然就要用 await promisify(function(){}) 才行
插件 assetdb API 都在这 2 个文档里写着啊
main process (https://docs.cocos.com/creator/manual/zh/extension/api/asset-db/asset-db-main.html)
对于在场景脚本里面给节点挂载脚本组件只能挂载引擎组件吗?自定义组件怎么挂载呢?我传递脚本名没有成功
解决了,我是在刷新资源回调里面addComponent的,但是addComponent中js.getClassByName并没有立即获取到类,延迟几帧就解决了
mark
兄弟,有没有办法通过getComponent获取到的组件拿到组件脚本所在的url,我把组件的uuid解码后发现与脚本资源的uuid不对应,导致uuidToFspath和uuidToUrl都拿不到url
jsFile.__scriptUuid
喵啊铁汁,你咋找到这个uuid的
在窗口调试输入uuid代码提示处理的…
当时我也找了好久哎
新建脚本文件成功后,立即addComponent会报错,需要加个延迟,我猜应该是要等新建文件后编辑器刷新一下后才能正常add,有没有办法注册编辑器刷新的回掉呀?
我的办法是定时轮询调用cc.js.getclassname,获取到了就取消轮循任务,执行addComponent,但是发现addComponent执行成功了,没报错,但是组件也没添加上,玄学…
只要是插件创建的脚本,执行cc下的api时就得小心翼翼的,不知道这个脚本什么时候才在编辑器中生效的,我现在都是加延迟,感觉不是什么好办法啊
同问。。。我也想知道这个编辑器刷新完成的回调
我也是这样处理
我怎么拿不到节点的信息啊,下面两个都拿不到,大佬们看看怎么获取节点信息啊
var selection = Editor.Selection.curSelection(‘node’);
Editor.log(selection); // 这里确实是有 uuid 的,和右键 node 查看的 uuid 是一样的
// 1
let nodes = cc.engine.getInstanceById(selection);
Editor.log(nodes);
// 2
selection.forEach(element => {
Editor.log(cc.engine.getInstanceById(element));
});
你的鼠标选中Node没有
选中了,有拿到 id 的
我测试下有消息,这函数不能传数组吧
这行代码是有限制在哪里使用吗