我试图使用PreloadJS类从CreateJS套件中加载一些资产,但是当第一次进度事件触发e.loaded和e.progress作为0.83时,在接下来的几个事件中,这些数字会减少,最后才会再次恢复。
t.assets = new createjs.LoadQueue();
t.assets.installPlugin(createjs.Sound);
t.assets.setMaxConnections(10);
t.assets.addEventListener("progress", function(e){
console.log(e.loaded);
});
t.assets.addEventListener("complete", function(){
callback();
});
t.assets.loadManifest([
{ id: 'facebook_btn', src: 'img/ingame/facebook_white_btn.png' },
{ id: 'twitter_btn', src: 'img/ingame/twitter_white_btn.png' },
{ id: 'embed_btn', src: 'img/ingame/embed_white_btn.png' },
]);我在控制台中得到了这些结果
0.8333333333333334
0.7142857142857143
0.625
0.5555555555555556
0.5
0.45454545454545453
0.4984983736293216
0.5894074645384125
0.6363636363636364
0.6663361591119469
0.7572452500210378
0.8261679748749072
0.9170770657839982
0.9390634318392196
1这是因为它是在内在地贯穿于清单中而不是马上就考虑到一切吗?
在预加载器中显示这些结果之前,检查进度是正确的吗?这是一种确保自己排序的好方法吗?
发布于 2013-11-10 15:06:33
本质上,清单只是提供了一种处理一批资产的有效方法,而不必自己遍历它们。看一看代码,它几乎与loadFile方法相同,但是循环遍历对象数组。因此,在更好地计算进度方面,它并没有做任何花哨的事情。
LoadQueue.js.html#l898
不过,为了让它看起来更准确,你有几个选择。
https://stackoverflow.com/questions/19860807
复制相似问题