Я создал внешний файл манифеста, который содержит список всех ресурсов для предварительной загрузки. Пример:
{
"path":"assets/",
"manifest": [
{"id":"background", "src":"images/game-background.jpg"},
{"id":"ui-elements-json", "src":"images/ui-elements.json"}
]
}
ui-elements-json — это лист спрайтов, созданный в TexturePacker и содержащий различные элементы пользовательского интерфейса. Моя проблема в том, что фактическое изображение НЕ загружается, пока я не создам таблицу спрайтов с помощью:
var ss = new createjs.SpriteSheet(preload.queue.getResult('ui-elements-json'));
Это означает, что он не загружается заранее. По крайней мере, я не вижу, чтобы он загружался в моей панели разработчика. Я могу вручную добавить изображение в файл манифеста следующим образом:
{"id":"ui-elements", "src":"assets/images/ui-elements.png"}
Но это почти так, как будто изображение загружается дважды, и у меня начинаются проблемы с производительностью. Если я добавлю «type»: «spritesheet» в свой манифест, я увижу, что изображение теперь предварительно загружается, и это здорово, но когда я создаю лист спрайтов, я получаю следующую ошибку:
«Uncaught TypeError: не удается прочитать свойство« фрагмент »неопределенного»
Вот упрощенная версия моего json-листа спрайтов. Насколько я вижу, он отформатирован правильно.
{
"images": ["assets/images/ui-elements.png"],
"frames": [
[511, 2, 1378, 46],
[797, 755, 133, 128],
[871, 885, 133, 128],
[564, 132, 133, 128]
],
"animations": {
"ui-Infobar":[0],
"ui-autospin-down":[1],
"ui-autospin-hover":[2],
"ui-autospin":[3]
}
}
Мне просто нужно убедиться, что мое изображение листа спрайтов предварительно алодно.