动态替换图片后,获取图片名字还是之前未替换图片的名字?

let self = this;
cc.loader.loadRes(‘frame/greenBox’, cc.SpriteFrame, function (err, spriteFrame) {
if (err) {
cc.error(err.message || err);
return;
}
self.m_frame[0].getComponent(cc.Sprite).spriteFrame = spriteFrame;
});

let name = this.m_frame[0].getComponent(cc.Sprite).spriteFrame._name;
cc.log('name: ’ + name);

之前的图片名字为woodBox,替换成功的图片名字为greenBox,可是获取替换成功图片的名字却还是woodBox

请教各位大哥,咋解决这个问题~

loadres是异步

请问同步有什么解决办法吗? 图片挂到引擎上,脚本直接调用?

图片挂脚本上就是同步的

明白了,我去尝试下,谢谢:rose:

异步的你可以去等待它,你需要看Promise内容,还有async、await用法
类似于

    /**
	 * 加载一个资源
	 * @param url
	 */
    public static loadRes<T extends cc.Asset>(url: string, type: typeof cc.Asset): Promise<T> {
        return new Promise((resolve, reject) => {
            cc.loader.loadRes(url, type, (err: Error, res: any) => {
                if (err) {
                    reject(err);
                } else {
                    resolve(res as T);
                }
            });
        });
    }

有了解过,现在要花时间研究下了,谢谢解答:rose: