再按快捷键直接在指定位置生成该节点同名js文件
并且将这js文件直接和这节点绑定,同时外部打开该js文件进行编辑
目的只是减少写界面代码所需繁琐操作: 打开 资源管理->生成文件->想名字->找模板->打开编辑器编辑代码;
这样为每个节点创建代码文件就没有什么顾虑,减少繁琐;
想问的是:
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);
卡在 获取不到精灵引用的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