【问题标题】:Spritesheet: additional parameterSpritesheet:附加参数
【发布时间】: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


【解决方案1】:

按照兰尼的建议让它工作:

通过预加载器将其加载为 JSON 文件(而不是 Spritesheet)。这解决了我的问题,因为我能够访问我的附加参数。您只需将所有链接的图像预加载到清单中,因为在这种情况下它不会为您执行此操作。

谢谢!

【讨论】:

    猜你喜欢
    • 2013-08-04
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多