【发布时间】:2015-09-13 10:13:06
【问题描述】:
我在 json 文件中有一个 spritesheet。我想再添加一个自定义参数以满足我的需要,所以它看起来像这样:
{
"images": ["ssheet.png"],
"frames": [
[0, 0, 256, 192],
[0, 194, 256, 192],
[258, 0, 256, 192],
[258, 194, 256, 192]],
"framerate": "24",
"dscaled": "0.4"
}
如何访问 dscaled?这是未定义的..
我以为我会得到它:
var ss = queue.getResult(spriteName);
var ds = ss.dscaled;
编辑:
这是在 PreloadJS 中预加载的方式:
{"id":"ss", "src":"images/ss.json", "type":"spritesheet"},
因此,如果我将其作为 json(而不是 spritesheet)预加载,我可能会获得可用的自定义参数。但是我需要单独预加载 PNG 文件并手动构建 spritesheet。对吧?
【问题讨论】:
-
也许您仍然可以访问尚未具有
dscaled属性的那个 JSON 的缓存副本? -
如果它只是由 PreloadJS 加载的 JSON,那么它应该在那里。如果您正在查找 SpriteSheet 实例上的属性,它将不存在,因为传入的 SpriteSheet 数据不会保留。
-
抱歉,目前无法检索 SpriteSheetLoader 加载的 JSON。这绝对是个好主意,我在 PreloadJS GitHub 上有 logged an issue。
-
经过一些测试后快速更新:您可以访问原始 JSON(文本),存储为
rawResult:queue.getResult(spriteName, true)。我们建议提供格式化的 JSON 作为 SpriteSheetLoader 的原始结果。 github.com/CreateJS/PreloadJS/issues/151
标签: json easeljs preloader sprite-sheet