0

这是显示图像的正常方式:

local img = display.newImage("image.png");

但是将所有图像放在一张大图像中并从 Zwoptex 导出不是节省内存吗?有从精灵表创建动画精灵的文档,但是从精灵表中提取单个图像呢?

local zwoptexData = require "sheet1"
local data = zwoptexData.getSpriteSheetData()
//then what?
4

1 回答 1

1

从平铺表制作静态图像的命令如下所示:

local tileSheet = sprite.newSpriteSheet("tiles.png", 64, 64)
local tileSet = sprite.newSpriteSet(tileSheet, 1, 10)
local tile = sprite.newSprite(tileSet)
tile.currentFrame = 5

这假设工作表上的所有图块都是 64x64,但您可以轻松调整这些命令以使用您的精灵表数据。需要注意的重要事项是 newSprite() 和 .currentFrame

编辑:您评论说您无法弄清楚如何使用精灵数据,所以修改后的代码是

local data = require("tiles.lua")
local tileSheet = sprite.newSpriteSheetFromData("tiles.png", data.getSpriteSheetData())
local tileSet = sprite.newSpriteSet(tileSheet, 1, 3)
local tile = sprite.newSprite(tileSet)
tile.currentFrame = 2

要了解其工作原理,请参阅 http://developer.anscamobile.com/reference/sprite-sheets

于 2011-04-13T23:31:14.643 回答