到处都建议创建精灵表(也称为纹理图集)而不是使用数百个单独的图像。我有数百张用于单词学习游戏的图像;但是有数百个单词,没有动画序列。因此,在生成了数据文件和精灵表之后,我正在寻找一个示例,说明如何在需要时从原始图像文件名(存储在精灵表数据(lua 代码)文件中(均使用纹理打包器创建)创建图像) .
这似乎是对的:
local sprite = require("sprite")
local CN_70_tiles_corona = require("CN_70_tiles_corona")
local spriteDataCN = CN_70_tiles_corona.getSpriteSheetData()
local spriteSheet = sprite.newSpriteSheetFromData( "CN_70_tiles_corona.png", spriteDataCN )
在创建精灵表之前,将使用以下内容创建我的图像:
t1 = display.newImage(cnTiles[tileNO])
例如,其中 cnTiles[1] 是放置在 sqlite 表中的数组中的值,例如“sit_word100.png”。
现在在“getSpritSheetData”函数下方我的生成lua文件中有一个条目,如下所示:
{
name = "sit_word100.png",
spriteColorRect = { x = 0, y = 0, width = 69, height = 69 },
textureRect = { x = 2, y = 2, width = 69, height = 69 },
spriteSourceSize = { width = 69, height = 69 },
spriteTrimmed = false,
textureRotated = false
},
我可以看到我的所有图像文件名现在都存储在数据中,以提供一种在精灵表中引用我的图像的方法,但是由于我不想使用“精灵集”,所以我找不到示例只需在需要时获得一张图像。
我想要一些允许我使用原始图像名称引用我现在的 spritesheet-ified 图像的东西。这可能吗?例如
t1 = display.newImage(CN_70_tiles_corona.getSpriteSheetData(name = "sit_word100.png")