Всем привет.
Этот пост провисел в черновиках два или три месяца. Я всё ждал, когда же я причешу скрипт, который я в нем упоминаю. В общем я пришел к выводу, что скрипт я причесывать не буду за ненадобностью, и так работает :-)
Я компилирую игры с помощью Flex SDK, использую растровую графику. Она, как известно занимает много места, особенно в формате PNG, т.к. он не поддерживает сжатие с потерями. Но этот формат является фактически единственным выбором, если нужны картинки с альфа-каналом. Мой выход из этой ситуации, и именно об этом этот пост, сохранить картинку как два JPEG файла, с цветовой информацией и с альфаканалом. Причем альфаканал можно сжать очень сильно — артефакты сжатия в альфаканале практически незаметны.
Кроме того, очень часто анимация попадает ко мне в виде кучи файлов с именами вида «0001.png», «0002.png» и так далее по числу кадров. Например Блендер выдает картинки именно так. Эмбедить все это в таком виде — просто морока, на каждый файл надо написать [embed] тэг, класс и что-нибудь еще. Гораздо проще и удобнее иметь один файл на анимацию и один раз его прописывать. Это к вопросу об уменьшении головной боли. И кстати и общий размер файлов также уменьшается, за счет заголовков, сжатия всего вместе, а не по отдельности и т.д.
В одном случае мне и правда удалось сжать 2 мб исходных файлов в 300 кб. А позже и того меньше, но это уже не задокументировано :-)
Читать дальше →