Повсюду рекомендуется создавать листы спрайтов, известные как атласы текстур, а не использовать сотни отдельных изображений. У меня есть сотни изображений для игры по изучению слов; но есть сотни слов, нет анимационных последовательностей. Итак, сгенерировав файл данных и лист спрайтов, я ищу пример того, как создать изображение, когда это необходимо, из исходного имени файла изображения (как хранится в файле данных таблицы спрайтов (код 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.
в моем файле генерации lua теперь есть запись под функцией getSpritSheetData примерно так:
{
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
},
я вижу, что ВСЕ имена моих файлов изображений теперь хранятся в данных, чтобы предоставить способ ссылаться на мое изображение в таблице спрайтов, но поскольку я НЕ хочу использовать «наборы спрайтов», я не могу найти пример просто получить одно изображение, когда оно есть.
Мне нужно что-то, что позволяет мне обращаться к моему изображению, теперь уже созданному в виде таблицы спрайтов, с использованием исходного имени изображения. Это возможно? например
t1 = display.newImage(CN_70_tiles_corona.getSpriteSheetData(name = "sit_word100.png")
CCTexture2D *texture = [[CCTextureCache sharedTextureCache] addImage:@"myatlastexture.png"]; CCSprite *sprite = [CCSprite spriteWithTexture:texture rect:CGRectMake(0,0,32,32)];
Итак, я ищу версию Lua. проверит документы с этой подсказкой. - person harry   schedule 23.01.2012