Рекомендуется создавать листы спрайтов aka текстурные атласы, а не использовать множество изображений отдельных изображений. У меня есть сотни изображений для словной игры; но есть сотни слов, без анимационных последовательностей. Таким образом, создав файл данных и лист спрайтов, я ищу пример создания образа, когда это необходимо, из имени исходного файла изображения (как хранится в файле данных спрайта (lua code) (оба созданы с помощью пакета текстур) .Создание изображения с листа спрайта с использованием имени исходного изображения
Это очень похоже, прав:
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")
Обновление: я нашел/Objective C Cocos2D ответ IOS на [ссылка] (HTTP: // allseeing- i.com/Performance-tips-for-Cocos2d-for-iPhone), который показал: 'CCTexture2D * texture = [[CCTextureCache sharedTextureCache] addImage: @" myatlastexture.png "]; CCSprite * sprite = [CCSprite spriteWithTexture: texture rect: CGRectMake (0,0,32,32)]; 'Так что я ищу версию Lua. будет проверять документы с этой подсказкой. – hangzhouharry
Этот вопрос также задал здесь: [link] (http://stackoverflow.com/questions/5655055/corona-create-regular-display-objects-from-sprite-sheets), но ответил в temrs SpriteSet. Argh. не хотите создавать один фрагмент spriteset - это ответ? – hangzhouharry