插件需要是:
- 点击层级管理器选中节点后
- 再按快捷键直接在指定位置生成该节点同名js文件
- 并且将这js文件直接和这节点绑定,同时外部打开该js文件进行编辑
目的只是减少写界面代码所需繁琐操作: 打开 资源管理->生成文件->想名字->找模板->打开编辑器编辑代码;
这样为每个节点创建代码文件就没有什么顾虑,减少繁琐;
想问的是:
1.怎么creator api 查找层级管理器选中了哪些节点?
2.怎么用 creator api 给指定节点绑定上脚本?
麻烦下大佬
插件需要是:
想问的是:
1.怎么creator api 查找层级管理器选中了哪些节点?
2.怎么用 creator api 给指定节点绑定上脚本?
麻烦下大佬
1.怎么creator api 查找层级管理器选中了哪些节点?
可以通过该函数 Editor.Selection.curSelection(‘node’); 得到一个 uuid 的数组,然后可以通 cc.engine.getInstanceById(uuid) 获取到节点的信息
2.怎么用 creator api 给指定节点绑定上脚本?
通过上面的 cc.engine.getInstanceById(uuid) 得到了节点,然后通过 addComponent 进行添加
范例:
// 指定节点添加组件
var node = cc.engine.getInstanceById(Editor.Selection.curSelection(‘node’)[0]);
node.addComponent(cc.Button);
// 指定节点创建新的子节点
var newNode = new cc.Node(‘new node’);
newNode.parent = cc.engine.getInstanceById(Editor.Selection.curSelection(‘node’)[0])
附加,
创建新脚本资源
Editor.Ipc.sendToPanel(‘assets’, ‘assets:new-asset’, { name: ‘NewScript.js’, url: ‘unpack://static/template/new-script.js’})
打开脚本
Editor.Ipc.sendToMain(‘assets:open-text-file’, uuid);
感谢大佬的一条龙服务
如果每个大佬都像你一样 论坛将是多么美好
大佬,再问下怎么获取当前编辑中的预制节点的文件路径?
大佬太棒了~
可以用 uuid 去转 url 或者 path
渲染层:
Editor.assetdb.remote.uuidToFspath(uuid);
Editor.assetdb.remote.uuidToUrl(uuid);
主进程:
Editor.assetdb.uuidToFspath(uuid);
Editor.assetdb.uuidToUrl(uuid);
谢谢大佬回复, 我通过这样操作的uuid转换不了URL路径,有劳大佬指教
这个 uuid 是压缩过的,而且这个转换只支持资源的 uuid,节点的 uuid 不需要吧?
cc.find 是用于 node,不是资源
请教如何取得当前打开 prefab节点对应的 资源uuid
我需求其实就是:
打开prefab节点后按下快捷键就在对应的 prefab文件旁边生新建js文件
如果是 prefab 的话,可以通过 cc.find(‘New Node’)._prefab.asset._uuid 去获取,普通的节点就没办法了
感谢大佬一路的支持啊
爱死你了
大佬 获取一个精灵 资源对应的assets目录下的路径 改怎么搞。。。。
难道普通节点真的一点办法都没有吗?
估计是这样
let uuid = node.getComponent(cc.Sprite).spriteFrame._uuid
Editor.remote.assetdb.uuidToFspath(uuid);
卡在 获取不到精灵引用的assets资源路径 还有 当前引用的spriteframe在哪个plist中
如图: 怎么获取当前精灵引用的资源是 assets/Texture/lalala 下的role_d_0.plist中的scenes-words-0013-layou-play_new-role-role_a-role_a_pao.png 这个资源
let uuid = node.getComponent(cc.Sprite).spriteFrame._uuid
let path = Editor.remote.assetdb.uuidToFspath(uuid);
path == assets/resources/bgs.plist/pk_1_10.png
牛B 大佬 我查了太多api了 非常感谢