使用 Pixijs 我可以加载资源如下:
var assetsToLoader = ["sprite-sheet-1.json", "sprite-sheet-2.json"];
loader = new PIXI.AssetLoader(assetsToLoader);
loader.onComplete = onAssetsLoaded
loader.load();
function onAssetsLoaded () {
// getAssets here
}
在 sprite-sheet-1.json
{"frames": {
"image1.png":
{
"frame": {"x":0,"y":0,"w":40,"h":40},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":40,"h":40},
"sourceSize": {"w":40,"h":40}
},
"image2.png":
{
"frame": {"x":40,"y":0,"w":40,"h":40},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":40,"h":40},
"sourceSize": {"w":40,"h":40}
}},
"meta": {
"app": "http://www.texturepacker.com",
"version": "1.0",
"image": "../img/sprite-sheet-1.png.png",
"format": "RGBA8888",
"size": {"w":279,"h":40},
"scale": "1",
"smartupdate": "$TexturePacker:SmartUpdate:9e3e5afd01ea8e418afabfbdcd724485$",
"extraMeta": "this is Extra"
}
}
如何以编程方式获取 Sprite 表中定义的图像列表?
最佳答案
PIXI 将所有 Sprite 存储在全局对象 PIXI.TextureCache
中。
function onAssetsLoaded () {
// getAssets here
console.log(PIXI.TextureCache);
}
因此,要获得单个纹理,您可以执行类似的操作
var texture1 = PIXI.TextureCache["image1.png"];
不过,您通常不需要这样做,因为添加 Sprite 非常简单
var sprite = PIXI.Sprite.fromFrame("image1.png");
关于javascript - 如何使用 Pixijs 获取加载的 Sprite 表资源中定义的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29419068/