这是显示图像的正常方式:
local img = display.newImage("image.png");
但是,将所有图像放在一个大图像中并从Zwoptex中导出不是很节省内存吗?有从精灵工作表创建动画精灵的文档,但是如何从精灵工作表中提取单个图像呢?
local zwoptexData = require "sheet1"
local data = zwoptexData.getSpriteSheetData()
//then what?
发布于 2011-04-13 23:31:15
从平铺工作表生成静态图像的命令如下所示:
local tileSheet = sprite.newSpriteSheet("tiles.png", 64, 64)
local tileSet = sprite.newSpriteSet(tileSheet, 1, 10)
local tile = sprite.newSprite(tileSet)
tile.currentFrame = 5
这假设工作表上的所有平铺都是64x64,但您可以很容易地调整这些命令以使用sprite工作表数据。需要注意的重要事项是newSprite()和.currentFrame
编辑:您评论说,您不能弄清楚如何使用sprite数据,所以修改后的代码是
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
https://stackoverflow.com/questions/5655055
复制