Я только что посмотрел этот замечательный урок по фреймворку Starling
http://www.hsharma.com/tutorials/starting-with-starling-ep-3-sprite-sheets/
Звучит так, будто спрайт-листы именно то, что вы ищете:
Вы объединяете все свои отдельные текстуры в одну большую текстуру, которая называется spritesheet, и создаете xml-файл, который содержит информацию о том, где текстуры находятся внутри spritesheet. Для этого вы можете использовать этот инструмент:
http://www.codeandweb.com/texturepacker
Я не уверен, что вы можете использовать его для коммерческих проектов, и количество текстур, о которых вы говорите, не похоже на то, что вы делаете это просто как хобби, поэтому вы можете проверить лицензию. Также доступна профессиональная версия.
Texturepacker создает два файла: spritesheet.png и spritesheet.xml. Вы просто копируете их в свой проект.
Затем вы добавляете этот код в один из ваших классов.
private static var gameTextureAtlas:TextureAtlas;
[Embed(source="../media/graphics/mySpriteSheet.png")]
public static const AtlasTextureGame:Class;
[Embed(source="../media/graphics/mySpritesheet.xml", mimeType="application/octet-stream")]
public static const AtlasXmlGame:Class;
public static function getAtlas():TextureAtlas
{
if(gameTextureAtlas==null)
{
var texture:Texture=getTexture("AtlasTextureGame");
var xml:XML=XML(new AtlasXmlGame());
gameTextureAtlas=new TextureAtlas(texture,xml);
}
return gameTextureAtlas;
}
Теперь вы можете получить доступ ко всем текстурам таблицы спрайтов, вызвав
YourClass.getAtlas().getTexture("name");
Это просто потрясающе. Когда вы используете texturepacker, имя каждого из спрайтов, включенных в spritesheet, становится его именем текстуры.
Возможно, вам уже поздно помогать, но я надеюсь, что будущие посетители смогут воспользоваться этим элегантным решением.
Я хотел бы подчеркнуть, что этот ответ в основном является выдержкой из учебника Шармы. Я даже не стеснялся воспроизводить код, который он использовал в своем скринкасте. Вся заслуга ему