循环给sprite设置图片问题

       for(var i = 0;i<this.totalCount;i++){

        var faceItemIns = cc.instantiate(this.faceItemPrefab);

        var sprite = faceItemIns.getChildByName('sprite').getComponent(cc.Sprite);
        var imagePath = 'resources/texture/popFace/popFaceItem/item'+(i+1)+'.png';
        
        var imgUrl = cc.url.raw(imagePath);
        var texture = cc.textureCache.addImage(imgUrl);
        sprite.spriteFrame.setTexture(texture);

        
        this.scrollView.content.addChild(faceItemIns);
        

    }

为什么我这样循环获取sprite设置texture 但是最后所有的sprite上都是我资源的最后一张图片

因为你所有 sprite 上用的是同一个 spriteFrame,试试 new cc.SpriteFrame

1赞

也就是说 必须 使用new cc.SpriteFrame(texture)嘛 不能用setTexture 是这个意思吗?

对 12345