cc.loader.load远程图片资源,设置一个会将所有的图片全部设置

  • Creator 版本:
    1.9.0

  • 目标平台:
    WEB

  • 详细报错信息,包含调用堆栈:
    无报错

  • 重现方式:
    setGridData: function (data) {
    var self = this;
    if (data)
    {
    cc.loader.load({url: data.avatar, type: “jpg”} ,function (err, tex) {
    self.imgHead.spriteFrame.setTexture(tex);
    var rect = self.imgHead.spriteFrame.getRect();
    rect.width = 72;
    rect.height = 72;
    self.imgHead.spriteFrame.setRect(rect)
    });
    }else{

      }
    

    },
    调用:
    for (var i = 0; i < 6; i++) {
    var grid = this.tGridFightHead[i];
    grid.getComponent(“gridFightHead”).setGridData(Global.playerUserInfo[i]);
    };

Global.playerUserInfo是一个长度为2的数组 按理说只设置了前两张图片的纹理 后面4张全部为默认的
但是实际效果是 6张图片的纹理全部为一张

设置了一张图片的纹理 其他图片的纹理跟着一起替换掉了
这个grid我是做成了Prefab 要怎么才能设置一张图片只有对应的图片生效啊?

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

顶起来

不要setTexture

嗯 重新new了一个spriteFrame就好了