用Corona从精灵表中创建常规显示对象?

这是显示图片的正常方法:

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

但是将所有图像放在一个大图像中并从 Zwoptex 导出是否可以节省内存?有关从图像表中创建动画精灵的文档,但是如何仅从精灵表中拉取单个图像呢?

local zwoptexData = require "sheet1"
local data = zwoptexData.getSpriteSheetData()
//然后呢?

原文链接 https://stackoverflow.com/questions/5655055

点赞
stackoverflow用户686008
stackoverflow用户686008

以下是从图块表中制作静态图像的命令:

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-13 23:31:14