最近使用cocos2d-js做点小东西,需要用for循环动态加载多张远程图片。
开始尝试使用loadImg,运行结果只加载了最后一张图,通过读源码,发现loadImg是单例模式。。。
各种尝试后,发现一个方法,直接上代码:
for(int i=0; i<10; i++){
var _logourl = CONST_WEB_PATH + _somedata[i];
cc.log(_logourl);
var logo = new cc.Sprite(_logourl);
logo.x = i * 80;
logo.y = 75;
logo.addLoadedEventListener(
function(){
logo.setDirty(true);
}
, logo);
this.addChild(logo);
}
关键坑在于addLoadedEventListener的定义在官方文档中并没有详细说明,只能靠读源码。