ATLAS是一種游戲資源集成方式,它將一些游戲素材或圖片打包成一個(gè)單獨(dú)的文件,以提高游戲的運(yùn)行效率。而在ATLAS中,每個(gè)圖片都會(huì)對(duì)應(yīng)一個(gè)JSON文件,JSON文件中記錄了該圖片在ATLAS中的位置、尺寸等信息。
當(dāng)我們想要在游戲中使用ATLAS中的圖片時(shí),我們需要使用JSON和PNG兩個(gè)文件,其中JSON文件用于查找PNG圖片的位置和尺寸信息,PNG圖片則是我們實(shí)際使用的圖像資源。
//以下是在PixiJS中加載ATLAS的示例代碼: //加載JSON文件 PIXI.loader.add("atlas_json", "images/atlas.json") //加載PNG文件 PIXI.loader.add("atlas_png", "images/atlas.png") //在加載完成后將atlas中的圖片貼到舞臺(tái)上 PIXI.loader.load(() =>{ let atlasJson = PIXI.loader.resources["atlas_json"].data let textureAtlas = PIXI.loader.resources["atlas_png"].texture PIXI.Spritesheet.fromData(atlasJson, textureAtlas, (spritesheet) =>{ //獲取atlas中指定的圖片 let spriteTexture = spritesheet.textures["image.png"] let sprite = new PIXI.Sprite(spriteTexture) app.stage.addChild(sprite) }) })
首先,我們使用PIXI.loader來(lái)加載ATLAS中的JSON和PNG文件。然后,通過(guò)PIXI.loader.resources來(lái)獲取它們的引用,接著使用PIXI.Spritesheet.fromData方法來(lái)將JSON和PNG文件合并,并將合并后的spritesheet對(duì)象傳遞給回調(diào)函數(shù)spritesheet。在回調(diào)函數(shù)中,我們可以使用spritesheet.textures來(lái)獲取ATLAS中指定的圖片的紋理,然后可以使用這個(gè)紋理創(chuàng)建一個(gè)新的PIXI.Sprite對(duì)象,并將它添加到PixiJS的舞臺(tái)上。