PreloadJS - 不加载 spritsheet 图像

Posted

技术标签:

【中文标题】PreloadJS - 不加载 spritsheet 图像【英文标题】:PreloadJS - Does not load spritsheet image 【发布时间】:2016-07-29 16:27:04 【问题描述】:

我正在使用 PreloadJS 加载 spritesheet。

代码由 Animate CC 生成,如下:

function init(id, basePath) 

idAtividade = id;

images = images||;
ss = ss||;

var loader = new createjs.LoadQueue(true, basePath);
loader.addEventListener("fileload", handleFileLoad);
loader.addEventListener("complete", handleComplete);
loader.loadFile(src:"images/B02A10_Canvas_atlas_.json", type:"spritesheet", id:"B02A10_Canvas_atlas_", true);
loader.loadManifest(lib.properties.manifest) ;

我有一个应用程序,位于地址 localhost/web,它使用 JQuery getScript 方法下载文件。下载完成后,JQuery 执行我的 js 文件,我调用 init 方法,传递一些参数,其中 basePath 是这个文件的资产。

basePath spritesheet 如下:

localhost/web/activities/1/

包含这个加载代码的js文件,在spritesheet的同一个地方

B02A10.js

图像/B02A10_Canvas_atlas_.json

图片 / B02A10_Canvas_atlas_.png

json文件下载正确,但是没有找到png文件,因为它的地址和LoadQueue类的构造函数中最后一个basePath不一样。

您的地址如下所示:

localhost/web/images/B02A10_Canvas_atlas_.png

是否有任何参数或设置下载图像是使用basePath中的最后一个地址完成的?

谢谢。

编辑

网络过滤器图像在这里。它使用 basePath 下载正确路径后的图像。但他试图再次降低它,使用我的一个应用程序。这是发生错误的地方。并且在浏览器中运行时,图像不存在。

Image with basePath downloaded correctly.

Image based application Path

【问题讨论】:

您能否使用 Chrome 中的 Web 开发人员工具并检查网络过滤器以查看正在加载的内容以及从何处加载? @Berni,我编辑了更多细节的帖子 你试过手动输入基本路径吗? 是的@Berni。如果我将基本路径作为 "images": ["localhost/evolua/midias/atividades/2/images/B02A10_Canvas_atlas_.png"], "frames": [[1026, 5418,1024,40]] 它工作正常。但是在这种情况下,我需要通过basePath动态添加这个地址。 尽量把你的本地开发区和你的生产开发区镜像,这样文件夹名和路径都一样。 【参考方案1】:

似乎解决了这个问题。自从在我的应用程序中实现了替代方法后,我没有机会进行测试。

这是我在 GitHub PreloadJS 上得到答案的讨论地址:

https://github.com/CreateJS/PreloadJS/issues/193

【讨论】:

欢迎来到 Stack Overflow,虽然您提供的链接可能会回答问题,但最好将解决方案的基本部分直接放在您的答案中,以防链接页面将来过期。

以上是关于PreloadJS - 不加载 spritsheet 图像的主要内容,如果未能解决你的问题,请参考以下文章

使用createjs的preloadjs加载图片

图片预先加载 preloadjs

HTML5 new Image() 图像需要加载后才能drawImage? 怎样保证多个Image对象都加载完成?

PreloadJS getResult(spriteSheet)

H5相关插件收集

PreloadJS 与 Spritesheet:FILE_LOAD_ERROR