Суть:
Класс для удобной работы с множеством изображений. Вместо прикрепления большого количества изображений через embed или сборки swc/swf с графикой, используется карта спрайтов(png+xml). Аналог класса TextureAtlas из Starling Framework. Доступ к изображением происходит по имени файла нужного изображения.
Как использовать:
- Создаём атлас для Startling/Sparrow через TexturePacker. Формат графики — png, Size: Any size(не обязательно), параметры Rotation и Trim mode нужно отключить.
- Подключаем полученные файлы png и xml через embed или загружем через Loader/URLLoader.
- Создаём экземпляр класса, в конструктор передаёт битмапдату и xml:
var atlas:ImageAtlas = new ImageAtlas(atlasBitmapData, atlasXML);
- Далее можно получать нужный тип данных через соответствующие методы: getBitmapData, getBitmap, getSprite, getShape. Думаю, имена методов говорят сами за себя. В параметры передаётся имя нужного файла изображения (можно подсмотреть в xml). При вызове любого из этих методов создаётся BitmapData нужного изображения, а затем, в зависимости от вызванного метода возвращается либо сама битмапдата, либо битмап с этой битмапдатой, либо спрайт с битмапом, либо Shape, в который отрисована битмапдата. В любом случае все битмапдаты кэшируются, то есть при повторном обращении к битмапдате она не создаётся заново, а используется уже созданная, не важно, через какой из перечисленных методов.
- Когда атлас больше не нужен, его нужно очистить через метод dispose.
Есть у данного класса один явный минус — общая битмапдата атласа всегда находится в памяти, но для проектов под пк в большинстве случаев это не критично.
Для уменьшения веса swf можно пережать png, например через PNGGauntlet.