Как стать автором
Обновить

Комментарии 19

Скажите, а почему Вы не использовали их «dynamic layouts» (к вопросу о рисовании для разных разрешений)? Не так хорошо работает, как они заявляют?
Хороший вопрос. А я про них не знал. Только что почитал вот здесь: blog.anscamobile.com/2011/01/use-dynamic-layouts-in-universal-builds-with-corona-sdk/
Интересная опция. Поможет боротосься с разным соотношением сторон в разных девайсах. Я эту проблему решил вручную в коде (используя относительные координаты вместо абсолютных) — чуть больше работы, но больше и гибкости. Подробнее об этом можно почитать в статье от разработчика Walkabout: www.base2solutions.com/walkabout/Corona%20Tips.html
Но графику в двух вариантах — hi- и low-res делать все равно придется.
Я использовал ImageMagick и Batch Processing в Photoshop для автоматизации процесса.
Вообще, вся графика делалась в Inkscape и сначала я использовал его CLI для batch-экспорта в нескольких разрешениях. Но image sampling в Inkscape не такой качественный, как в ImageMagick или Photoshop при экспорте с маленьким разрешением. Поэтому позже я стал рендерить SVG в большой PNG из которого делал downsampling в нужные разрешения в Photoshop'е.

Еще стоить отметить, что dynamic image scaling в Corona любит четные размеры картинок. Если у вас есть изображение размером 200x100 для HTC Desire (разрешение экрана 480x800), то для HTC My Touch (320x480) вам нужна картинка в 1.5 раза меньше — приблизительно 133x67. В таком случае, лучше добавить лишние прозрачные пиксели, чтобы размер получился четным — 134x68. В противном случае, dynamic image scaling может внести небольшие артифакты: developer.anscamobile.com/forum/2011/06/12/dynamic-image-scaling-issue
Однажды я случайно удалил папку с проектом, а последний бэкап был сделал неделей ранее. Благодаря функции Local History в Idea, хранящую историю всех изменений, мне удалось восстановить проект, когда я уже ни на что не надеялся.

Git, Mercurial, SVN, не, не слышал.
Вы же бывший веб-разработчик, как можно не иметь привычки делать бекапы?
Спасибо, я в курсе. Едкие замечания делать легко. Ну, допустил ошибку, не оправдываться же теперь.
Долгое время смотрю с интересом на данный SDK, читаю mobile.tutsplus.com/. Через месяц хочу попробовать на реальном приложении.
Графику для каждого разрешения приходится делать отдельно, учитывая масштаб и соотношения сторон.
Мне кажется тут что-то не так в подходе. Иногда действительно приходится дублировать элементы для кардинально различающихся устройств, но для каждой резолюции и отношения сторон? Всегда есть способы этого избежать: разделять графические элементы на слои, что можно масштабировать — масштабировать, что нельзя — выравнивать, что-то можно тайлить или генерить процедурально, есть способы нелинейного масштабирования, вроде андроидовского 9segment, которые отлично подходят для кнопочек, рамочек и т.д. Вообщем вариантов масса.
Не так выразился. Лучше приведу пример. Допустим, вы хотите разработать приложение для Android-устройств — телефонов и планшетов. Есть бюджетные модели телефонов с разрешением дисплея 320x480, есть более дорогие — 480x800, 480x854 и 540 x 960, и планшеты — 1024x600, 1280x800 и т.д.
Я бы сделал три варианта графики — по одному для каждой из этих категорий. Причем, чтобы пользователи не жаловались на большой размер приложения, сделал бы два apk — один для телефонов, с первыми двумя вариантами графики, а другой, HD-вариант — для планшетов. И для обоих указал бы поддерживаемые разрешения в AndroidManifest.xml, чтобы пользователю не было нужды выбирать и в рынке автоматически отображалась версия для его/ее устройства.
НЛО прилетело и опубликовало эту надпись здесь
нет.
Я предлагаю посмотреть в сторону getmoai.com/
Технически она сильно лучше, при этом opensource (исходники на гитхабе). Можно писать свои библиотеки на языках host платформ либо просто использо API на том же LUA.
То что он технически лучше это большой сюрприз если честно. Он вообще из beta выбрался? Если мне память не изменяет, когда я делал обзор движков он был в beta и API там был скромный. Хотя расширения это +
Ну да он ещё в бете 0.9 и разбираться надо по сути в исходниках. Я просто когда комментарий писал, как то забыл что на первых строках вы писали, что лень разбираться с objective-c, java. Moia хороша для тех кто там и там программировал, порог вхождения пока высокий( с примерами и доками проблемы), но технически она очень хороша.
У Android тоже есть in-app, если что.
Все верно, но в Corona SDK эта возможность пока не реализована. Сейчас она у них в roadmap на первом месте.
Главный недостаток движка это нет возможности писать нативные расширения для тех кому не хватает функционала. И это может поставить вас в серьезную проблему особенно если вы разрабатываете проект для заказчика.
Спасибо, классная статья!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории