|
|
|||||
Modus ponens
|
Компоновка spritesheet
Вот давече задался целью написать. На картинке - результат (понятно, что он не идеальный, и я еще буду дорабатывать, т.как наверняка и баги есть и т.п.)
Несмотря на это, вопрос к публике. Нужно ли оно кому-нибудь кроме меня? Если нужно, то опишите чего бы вы ожидали, кроме, непосредственно скомпонованой картинки. CSS? Может быть AS3 код сгенерировать, который картинку нарезает на Bitmap/ BitmapData? Или одну картнику и кучу прямоугольников? Да, написано на Лиспе что значит, что нужно будет немного задуматься при установке (но с другой стороны все ж таки кроссплатформенно!). Ну и, понятное дело, что в повседневной жизни програмировать на Лиспе ее не нужно будет, будет какой-нибудь интерфейс (консольный).
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 30.12.2012 в 12:26. |
|
|||||
Штука полезная, но ведь есть уже такие няшки:
https://github.com/scriptum/Cheetah-Texture-Packer http://www.codeandweb.com/texturepacker/ |
|
|||||
Модрон-ветеринар
|
wvxvw, пару бы слов, для чего это. Битмапный лист - я немного знаю, а спрайтный?
И вообще, почему не блог-запись? Для "флейма" не очень годится. Вполне себе тематическая проф-заявка разработчика, несмотря на открытый тобой вопрос по востребованности.
__________________
Идите первым! |
|
|||||
Modus ponens
|
Так оно еще не сделано делал для себя, для немного другой цели, но так уже по-дороге получилось, вот стою в раздумии: толи допилить до состояния, когда и другие могут пользоваться, ну, чтобы с документацией там и выложить на общественную раздачу, или может а ну его
Я как догадывался, что существуют такие вещи уже, но писать обертку для чего-то чужого, как-то стало влом. Спрайт-листы, ну это не флешевые спрайты, это своего рода экономия на загрузке / упаковке. Ну, это актуально в CSS, где часто есть много маленьких картинок, которые по отдельности загружать, ну просто очень не с руки, т.как сам по себе запрос - уже половина картинки, ну и на общение с сервером много ресурсов тратится - легче один файл скачать, чем кучу маленьких. Ну и в играх, типа раскадровки персонажа, например, или текстуры - ну, собственно, пройти по сылкам Иллича, там все видно стразу.
__________________
Hell is the possibility of sanity |
|
|||||
Прикольно. В крупных играх такая система частенько используется, ещё в некоторых библиотеках JS встречал подобное.
Написано на лиспе. А как его к флеш плееру применить?
__________________
Дети не должны знать о своих родителях |
|
|||||
Lorem ipsum
|
Было бы здорово увидеть алгоритм, дабы реализовать его средствами AS3 для упаковки атласа "на лету" из разных форматов разрозненных изображений.
__________________
Поймай яблоко 2! |
|
|||||
wvxvw, было бы очень круто на ас3 такой упаковщик. Результат очень даже приличный, по-моему.
Я как-то занимался портированием атласа текстур с джавы, но так руки и не дошли все к нормальному виду привести. |
|
|||||
Modus ponens
|
Такая упаковка в общем случае не решаемая (т.е. мы говорим о проверке всех пермутаций всех картинок, а это факториал от количества картинок - что как бы выходит за рамки полиномиальной сложности), и, в моем случае - это делается методом "сначала сложить более-менее", а потом попытаться улучшить, но вот стратегия улучшения, пока что не ахти. В любом случае, это не мгновенный процесс. Для сотни картинок это отнимает около секунды - двух, но если поменять стратегию - это может и в минуты легко перерасти.
Да, но, кстати, например для квадратных картинок, есть версия которая доказано оптимально складывает 32 квадрата разного размера. Сейчас как раз читаю описание этого алгоритма.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 30.12.2012 в 12:06. |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Это есть в Flash CS6, но на сам алгоритм упаковки интересно взглянуть.
Что бы допилить? Генерацию xml для старлинга.
__________________
Отряд Котовскага |
|
|||||
Modus ponens
|
Ну я, как всегда, сначала сделал, а потом пошел читать, о том, как надо было
Но мне все равно интересно породолжить свой вариант... хотя надежд мало. Вобщем, в двух словах, проверенная и хорошая стратегия заключается примерно в следующем: Найти оптимальную площадь куда можно сложить все фигуры (т.е. просто сумма всех площадей). Для нее, естесственно, оптимальным периметром будет квадрат. Попытаться разместить все фигуры. Если получилось - мы закончили программу, иначе, увеличить площадь или увеличить периметр, не изменяя площадь, и попробовать разместить снова, и так, пока не поместится.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 12:10. |
|
« Предыдущая тема | Следующая тема » |
|
|