简体   繁体   English

如何使用Pixijs获取在加载的Sprite Sheet资产中定义的图像

[英]how to get images defined in loaded sprite sheet asset with Pixijs

Using Pixijs I can Load assets as below: 使用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  
}

in sprite-sheet-1.json 在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"
    }
}

How can I get the list of images defined in sprite sheets programmatically? 如何以编程方式获取在精灵表中定义的图像列表?

PIXI stores all your sprites in the global object PIXI.TextureCache . PIXI将所有子PIXI.TextureCache存储在全局对象PIXI.TextureCache

function onAssetsLoaded () {
   // getAssets here  
   console.log(PIXI.TextureCache);
}

So to get a single texture, you could do something like 因此,要获得单一纹理,您可以执行以下操作

var texture1 = PIXI.TextureCache["image1.png"];

You generally won't ever need to do this though, because adding a Sprite is as simple as 通常,您通常不需要这样做,因为添加Sprite就像这样简单

var sprite = PIXI.Sprite.fromFrame("image1.png");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM