2015-06-26 4 views
0

У меня есть спрайт в файле 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; 

EDIT:

Вот как это предустановленное в PreloadJS:

{"id":"ss", "src":"images/ss.json", "type":"spritesheet"}, 

Так что, если я предварительно загрузить его как json (вместо спрайтов), вероятно, я получу свой пользовательский параметр. Но тогда мне нужно предварительно загрузить PNG-файл отдельно и создать спрайт вручную. Правильно?

+0

Возможно, вы по-прежнему получаете доступ к кешированной копии этого JSON, у которой еще нет атрибута 'dscaled'? – Vesper

+0

Если его просто JSON загружен PreloadJS, тогда он должен быть там. Если вы ищете свойство на экземпляре SpriteSheet, оно не будет существовать, поскольку данные SpriteSheet, которые передаются, не сохраняются. – Lanny

+0

К сожалению, в настоящее время нет способа получить JSON, загруженный с помощью SpriteSheetLoader. Это определенно хорошая идея, и я [зарегистрировал проблему] (https://github.com/CreateJS/PreloadJS/issues/151) в PreloadJS GitHub. – Lanny

ответ

0

Понял работать, как это было предложено Лэнни:

Loaded его в виде файла JSON с помощью прелоадером (не как Spritesheet). Это решило мою проблему, поскольку я смог получить доступ к моим дополнительным параметрам. Вам просто нужно предварительно загрузить все связанные изображения в манифест, так как в этом случае он не сделает этого для вас.

Спасибо!

 Смежные вопросы

  • Нет связанных вопросов^_^