首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CreateJS‘PreloadJS进度事件不准确

CreateJS‘PreloadJS进度事件不准确
EN

Stack Overflow用户
提问于 2013-11-08 13:58:59
回答 1查看 1.3K关注 0票数 0

我试图使用PreloadJS类从CreateJS套件中加载一些资产,但是当第一次进度事件触发e.loadede.progress作为0.83时,在接下来的几个事件中,这些数字会减少,最后才会再次恢复。

代码语言:javascript
复制
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' },
]);

我在控制台中得到了这些结果

代码语言:javascript
复制
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

这是因为它是在内在地贯穿于清单中而不是马上就考虑到一切吗?

在预加载器中显示这些结果之前,检查进度是正确的吗?这是一种确保自己排序的好方法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-10 15:06:33

本质上,清单只是提供了一种处理一批资产的有效方法,而不必自己遍历它们。看一看代码,它几乎与loadFile方法相同,但是循环遍历对象数组。因此,在更好地计算进度方面,它并没有做任何花哨的事情。

LoadQueue.js.html#l898

不过,为了让它看起来更准确,你有几个选择。

  1. 如果您加载的不多,而且只需要几秒钟,您可能只想不使用进度事件。相反,您可以只捕获负载错误或其他障碍。
  2. 如果您正在加载很多东西,并且可能需要一些时间,那么请考虑在显示进度之前等待几秒钟。这给了显式的时间来添加足够的东西,它应该只是朝着一个积极的方向向1移动。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19860807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档