我想利用PIXI.Spritesheet
来获取某种纹理或精灵的集合,以便在pixi应用程序中使用。
let spritesheetTexture = PIXI.utils.TextureCache["my-spritesheet-image.png"];
let data = ??????
let spritesheet = new PIXI.Spritesheet(spritesheetTexture, data);
不幸的是,除了“对象”和“ Spritesheet图像数据”之外,the pixi documentation没有给出
data
参数需要采用的格式。我也找不到正在运行的此类的any examples。 最佳答案
data
参数应该是类似JSON的对象,列出纹理图集(spritesheet)的所有帧,并且应如下所示:
{
"meta": {
"image": "atlas.png"
},
"frames": {
"icon_1.png": {
"frame": {"x":0, "y":0, "w":32, "h":32},
"sourceSize": {"w": 32, "h": 32}
},
"icon_2.png": {
"frame": {"x":32, "y":0, "w":64, "h":64},
"sourceSize":{"w": 64, "h": 64}
},
...
}
}
但是我认为您不应该手工编写或直接使用
PIXI.Spritesheet
(除非您正在做一些比仅显示纹理图集中的图像更高级的操作)。该JSON结构应通过将多个图像打包到一个纹理中的软件(例如TexturePacker)导出,并且应使用如下PIJSON的加载器加载此类随附的JSON文件:PIXI.loader
.add('atlas', 'atlas.json')
.load(onAssetsLoaded);
function onAssetsLoaded() {
...
}
另请参见this example。
关于javascript - 用来构建Pixi Spritesheet的数据应采用哪种格式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49141867/