问题标签 [preloadjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
903 浏览

javascript - CreateJS - 图像位图并不总是出现

我怀疑答案将在PreloadJs中,但是,我已经在我的代码中删除了对它的修改以简化它。这是最重要的部分:

所以现在的问题是,这是你第一次运行我的代码时得到的结果:

原来的

没有什么不对。

但是,第一次访问时,图像还没有被缓存,也没有显示出来。当您硬重置页面(ctrl + r在 Windows 上)时,也会发生同样的事情。这显然是一件大事,因为您第一次访问该页面时,它不会有图像。这是我尝试过的:

  • PreloadJs,这很可能是解决方案,但是到目前为止我的代码不起作用。

    • 这是我当前的PreloadJS代码:

      /li>
  • 触发我的代码onload。问题仍然存在。

  • 延迟之类的setTimeout。除了非常骇人听闻之外,即使有很大的延迟,它也只能在一定比例的时间内修复它。
  • 像这样的答案。这适用于硬重置,但是当我清除缓存时加载时间过长,基本上破坏了修复第一次加载的整个想法。

因此,基本上,虽然其中一些解决方案在某些时候有效,但有些是骇人听闻的,而且都只能在一定比例或更少的时间内有效。什么是最好的解决方案?

一件事是当我做某事时,例如调整页面大小,图像会显示出来。我无法在我的示例代码中重新创建它。我相信这会发生,因为当我最初运行时stage.update它还没有准备好显示,所以它没有。再次简单地在stage.update一秒钟后再次运行是不够的。

注意:我不认为这是这个问题的重复,因为没有答案,它已经有一年了,他们无法提供一些细节,并且评论中提供的唯一解决方案失败了。

0 投票
1 回答
867 浏览

javascript - 使用 createJS 时如何避免画布被污染?

我看到三个地方表明我想要一个 crossOrigin 图像:对 createjs.LoadQueue 的第三个参数(文档说已弃用)使用 true,设置 loadItem.crossOrigin 属性(分配“匿名”或使用 LoadItem.set({ .. crossOrigin:true .. }),以及由 LoadQueue getResult 返回的图像的 crossOrigin 属性(似乎总是为空)。我找不到任何设置组合来避免画布被污染。诀窍是什么?

0 投票
1 回答
151 浏览

node.js - 更新 preload-js 0.6.3 的 npm 包,但文件中的版本仍然显示 0.4.1

我在节点环境中工作。我已经从https://www.npmjs.com/package/preload-js安装了 preload-js 节点模块。显示版本为 0.6.3。package.json 也显示相同的版本。

但在实际文件中,node_modules\preload-js\index.js。显示如下(version="0.4.1")

http://www.createjs.com/preloadjs,版本 0.6.2 于 2015 年 11 月发布。如何更新?我已经尝试过 npm 更新过程,但没有运气。

提前致谢。

0 投票
0 回答
268 浏览

javascript - 如何使用 Adob​​e Flash (Animate) HTML5 Canvas Javascript 做序列声音

我想在一帧中播放序列声音。我尝试了很多方法,但声音通常是混合或碰撞。

主要思想是有一个类似于播放列表的队列,并在播放声音或播放完成后自动将其弹出到该队列中。

我该怎么做才能实现我的想法?有没有使用 createjs 库的示例代码?

感谢您的帮助。

编辑:

0 投票
1 回答
540 浏览

easeljs - PreloadJS - 从没有文件格式的 URL 加载图像

我正在尝试使用 PreloadJS 加载图像。我从http://www.createjs.com/getting-started获取了入门代码,所以,

效果很好,但是将 URL 更改为自定义 URL 效果并不好:

我无法渲染图像。我猜该loadFile函数会解析提供的 URL 字符串中的文件类型。有没有办法告诉 PreloadJS 提供的资产确实是一个图像并渲染它?

0 投票
1 回答
464 浏览

createjs - 使用 CreateJS gang 添加淡出

我正在寻找一种使用 CreateJS 设置淡入和淡出的方法。我对 CreateJS 完全陌生,我希望创建一个包含 2 个不同布局的小广告,每个布局都有一些小布局,它们将通过幻灯片显示或淡入淡出动画。这是我的尝试,我不确定我所做的是否正确,但有些步骤有效,有些则无效。任何帮助都非常受欢迎。

我确切地说我正在使用:

  • 预加载JS
  • 画架JS
  • 吐温JS

感谢大家

HTML:

JS:

0 投票
1 回答
212 浏览

javascript - 异步预加载 css 图像和声音

该站点的所有资产都位于一组对象中,这些对象将在用户交互后显示,例如滑块。

我有大约 150 个小图标和大约 100 个需要预加载的小声音,一直在寻找,但没有找到与从 js 数组预加载资产相关的任何内容。

我使用图像作为背景并从对象中获取类名。我认为所有图像都准备好了,因为它们来自 css 类,但我想我错了

此链接或与此类似的内容可以解决问题,但是在阅读文档后,当资产来源位于将使用 js 管理的数组中时,找不到如何应用它。

0 投票
2 回答
676 浏览

angular - PreloadJS 在 Angular 上不起作用(createjs-module)

我遇到了 angular & createjs-module 的问题。

createjs-module 正在工作,正如您在代码中看到的那样,形状方法和补间正在工作(我可以在浏览器上成功地对其进行可视化):

https://www.npmjs.com/package/createjs-module

但是当我尝试使用 createjs 的官方文档开始预加载和使用图像时,什么也没有发生:

http://createjs.com/docs/preloadjs/classes/LoadQueue.html

队列不加载。我在“ngOnInit”的末尾放置了一个控制台日志,它确实有效,但没有从“queue”对象调度任何事件。我在代码上看不到任何错误,在控制台上也看不到任何错误/警告。

代码:

0 投票
1 回答
752 浏览

javascript - 无法使用 PreloadJS 和 Vue.js 多次加载资产

我正在尝试创建一个Vue.js组件,它允许我加载(使用PreloadJS)并显示各种EaselJS画布实验。Vue.js 组件:

  1. EaselJS使用 HTML 画布和 2 个用于实验脚本和库的 div 创建
  2. created生命周期钩子:使用 (包含在主 HTML 文件中)加载EaselJSPreloadJS
  3. EaselJSlib 文件存储在#creatjLibdiv中
  4. 然后它加载实验脚本文件并将它们存储在 #gameAssets

这是组件:

问题

我的问题是这个过程只工作一次。我只能加载EaselJS库和实验文件一次,脚本会正确执行,但是一旦我导航(vue-router,历史模式)回家,例如然后回到实验,它甚至无法再次加载库并在created生命周期挂钩中崩溃。

创建钩子时出错:“TypeError:无法读取未定义的属性‘observeArray’”

控制台日志

我尝试使用destroyedandbeforeDestroy生命周期挂钩来取消、删除、重置PreloadJS队列,但我尝试过的没有任何效果。该错误似乎发生在 Vue.js 的某个地方,但我不确定为什么或如何解决这个问题。我检查了清单 url,它指向正确的静态JSON清单文件。

有什么想法吗?我在这里错过了什么?任何建议/帮助将不胜感激

0 投票
1 回答
2955 浏览

createjs - 使用 preloadjs 加载图像时如何在 createjs 中更改位图图像?

我使用队列中的图像创建了位图。接下来,我试图通过更新 image.src 属性来更改图像,但它不起作用,因为它需要图像位置的路径。在这种情况下,如何将第一张图像更改为第二张图像。我假设过渡会很顺利,因为图像已经加载。

调用函数 changeImage() 后,图像必须在 changeImage 中发生变化。