setTexture用于给精灵帧设置材质,在给一个列表设置材质时,用cc.loader.getRes得到的材质进行设置,永远显示第一张材质,列表里所有的item都是同一张材质,设置无效。如下:
let iconId = itemID+1;
let iconKey = "ui/icon/head_"+iconId+".png";
let texture = cc.loader.getRes(iconKey);
this.head_icon.spriteFrame.setTexture(texture);
以上设置所有的item都显示head_1.png,算不算cocoscteator的一个bug呢?在此记录一下,通过以下方法可以解决
var spriteFrame = new cc.SpriteFrame(iconKey);
this.head_icon.spriteFrame = spriteFrame;