TexturePacker 的多图集选项生成了大量文件?告诉这个管理器它们在哪里,它会给你一个函数,该函数可以获取每个图像的正确图集和帧索引,而无需你担心它们。
文档
getSheetAndFrame=multipackmanager.init("dataFileDir", "imageFileDir" , "dataFilePrefix" , "imgFilePrefix")
graphicsSheet, frameIndex = getSheetAndFrame("imageName")
或者为了方便起见
image=display.newImage(getSheetAndFrame("imageName"))
示例
假设你生成了一些图像图集,其中包含 "bob.png"、"alice.png" ... "cat.png" 这些图像。你的项目结构如下所示
- root/
- img/
- sheetimg0.png, sheetimg1.png, ... sheetimgn.png <-- 所有带有 "bob.png" 等的图像
- sheets/
- info0.lua, info1.lua ... infon.lua <-- 包含帧信息的 Lua 文件
所以
- Lua 文件位于 sheets 目录中,并带有 info 前缀。
- 图像文件位于 img 目录中,带有 imagesheet 前缀。
鉴于此,你可以编写
local getSheetFrame=multipackmanager.init("sheets","img","info","sheetimg")
local alice=display.newImage(getSheetFrame("alice")) <-- *注意缺少 .png 扩展名。*
local cat=display.newImage(getSheetFrame("cat"))
注意
这假设你使用 TexturePacker 中的 Corona SDK (图像图集) 选项创建了文件。该代码还假设你没有命名你的资源,使得一组资源是另一组资源的前缀。例如,你有一组名为 a0.lua、a1.lua 等的文件,另一组名为 a_load_of_images0.lua、*a*_load_of_images1.lua 等的文件。