【发布时间】: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 下载正确路径后的图像。但他试图再次降低它,使用我的一个应用程序。这是发生错误的地方。并且在浏览器中运行时,图像不存在。
【问题讨论】:
-
您能否使用 Chrome 中的 Web 开发人员工具并检查网络过滤器以查看正在加载的内容以及从何处加载?
-
@Berni,我编辑了更多细节的帖子
-
你试过手动输入基本路径吗?
-
是的@Berni。如果我将基本路径作为 {"images": ["localhost/evolua/midias/atividades/2/images/B02A10_Canvas_atlas_.png"], "frames": [[1026, 5418,1024,40]]} 它工作正常。但是在这种情况下,我需要通过basePath动态添加这个地址。
-
尽量把你的本地开发区和你的生产开发区镜像,这样文件夹名和路径都一样。
标签: json png createjs sprite-sheet preloadjs