在onload的时候从数组中读取资源url,然后在ScrollView动态创建多个Prefab,将url的图片作为button的normal,
为什么创建完只有最后一个button显示是正确的,其他几个好像就显示为prefab的默认图片了
代码类似下面这样的
for (var i in Resources.Images) {
var newNode = cc.instantiate(this.BtnPrefab);
cc.loader.loadRes(Resources.Images[i].url, cc.SpriteFrame, function (err, spriteFrame) {
newNode.getComponent(cc.Button).normalSprite = spriteFrame;
});
newNode.parent = cc.find('Canvas/ScrollView/view/content');
this.btnList.push(newNode);
}
用了一个方法,是创建的时候不改normalSprite ,而是在prefab上挂一个脚本,
将url保存到每个新创建的prefab上,然后在prefab的onload上改normalSprite 就是正常的?这是为什么呢?
但是这样的话,有时候卡的时候,大部分创建出来的button会先显示一下默认图片之后才变成正确的,这又是为什么呢?