在编辑器模式下改变一个属性值,但是属性检查器中无法刷新,场景也没有保存

/**
* 在编辑模式下为节点添加一个组件,调用此方法者必须 @executeInEditMode
* @param type 类型 如 cc.Sprite
* @param node node节点
* @param dbPath 默认资源的 db path
*/
static addComponent(type: {new(): T}, node: cc.Node, dbPath: string): T
{
let c = node.getComponent(type);
if(CC_EDITOR)
{
if(!c)//不能重复添加
{
c = node.addComponent(type);
}
let uuid;
//let path = ‘db://assets/resources/xxxx/xx/xxxx/test.png’;
eval(uuid = Editor.assetdb.remote.urlToUuid('${dbPath}'));
cc.loader.load(
{
url: dbPath,
type: ‘uuid’,
uuid: uuid
},
function (err, asset: cc.Texture2D) {
if(dbPath.search(".png") > -1)//png类型
{

c.spriteFrame = new cc.SpriteFrame(asset);//这里赋值后,检查器上没有更新,Sprite Frame还是空的,但是编辑器中能看到图片。保存后,再切一下场景回来,图片也不显示了!!!

}
else
{
eval(“Editor.log(‘No suport res!!!’)”);
}
}
);
}
}

谢谢解答!

@jare 大神,关注你很久了,解答一下呗

自顶!!!

@panda

cocos 有人吗?

你可以自己在开发者工具里 打个断点试试啊。。。。uuid 可能没有获取到

谢谢,图片正常显示了,uuid是有的。

@panda @jare ?????????????我的问题是问得不对还是低级,麻烦给与帮助。
顺便我再说个问题,cc.loader.loadRes() 在模拟器模式下加载dragonbone资源报错,如图:

@王哲

@王哲@panda@jare

@wangzhe

大神们,抽空看看啊

你发个 demo 出来看看吧