- Перед компиляцией проекта, нужно пройти несколько шагов, следуя определенным правилам сервиса, в которых нужно копать и разбираться... даже если ты просто, тупо, хочешь для себя посмотреть как твоя игра будет выглядеть на экране мобилки, даже без желания её продавать и загружать в маркеты.
- Очень не дружелюбный интерфейс... элементы управления мне показались вовсе не очевидными. Дизайн красивый, но слишком нагроможденный.
- И самое главное - все игры у меня тормозят при любом варианте и даже на расхваленном directCanvas. Причины этому до сих пор для меня мрачная тайна.
Быть может для использования этого сервиса нужно быть продвинутым программистом, знать все его API и тому подобное? Не знаю, но с "Construct 2" он работает просто ужасно!
PhoneGap не пробовал, т.к. слышал, что эта штука не для игр! И вот добрался до CocoonJS... буквально за 5 минут во всем разобрался и сделал свой первый билд, который к моему охренительному удивлению, работал охренительно быстро! Игры работают в 2-3 раза быстрее, чем в браузерах! К тому же отлично работает WebStorage-объект и работает вообще прозрачно, что очень немаловажно для игр с сохранениями.
Но и здесь есть свои нюансы:
- При бесплатном использовании сервиса в играх вставляется его логотип (большая картинка, показывающаяся 3 секунды перед запуском игры)
- Всё таки игры идут не на всех устройствах и не на всех устройствах они идут быстро. Но это нормальное явление, просто нужно тестить и составлять список поддерживаемых устройств.
- Чтобы отлаживать игру - приходится постоянно загружать её на сервис и ждать хрен знает сколько, пока тебе на мыло придет ссылка на скачивание билда!
!ВНИМАНИЕ! Теперь уже есть очень удобный инструмент для тестирования игр: https://play.google.com/store/apps/deta ... jslauncher - качайте это на свой андроид и далее будет достаточно подтвердить свой аккаунт и просто запускать экспортированный ZIP-файл с игрой.
Но всё равно, вам очень пригодятся знания по компиляции и декомпиляции apk, так что читаем дальше и вникаем;)
Последнее меня бесило больше всего! Я хотел бы иметь возможность компилировать свои проекты в пару кликов так же, как это можно сделать при экспорте в обычный HTML5 и при экспорте в Node-Webkit. Я потратил выходные на разгугливание темы и наконец добился этой возможности! Однако, прежде чем всё будет просто, нужно подготовиться... и для новичков это будет не так уж и "однокликово" на первый раз. Просто читайте внимательно и делайте, что говорит добрый дядя

Для начала я расскажу как в принципе экспортировать в CocoonJS без продвинутых манипуляций.
Делаем экспорт своей игры в CocoonJS:

Жмем Launch the CocoonJS.... или переходим по ссылке: https://cocoonjsservice.ludei.com/cloud/login/

Естественно, в CocoonJS нужно быть зарегистрированным! Регистрация в принципе простая... Предположим, что вы это уже сделали и входе в систему должны увидеть список своих проектов (если они есть):

Если их нет - то жмем зеленую кнопку New Project, что отправит вас на страницу настройки проекта:

Здесь всё предельно просто, как видно из моего примера... Даже английский знать не обязательно.
Application Name - это то, как будет называться ваша игра на телефоне.
Bundle Id - уникальный идентификатор вашего билда. А вот здесь интересно! Сначала я подумал, что этот идентификатор можно менять как версию, но нет - если вы его поменяете, то это уже будет считаться совершенно другой программой и устанавливаться она будет параллельно, а не заменяя (обновляя) вашу уже установленную версию игры! К тому же на Play Markete вы не сможете сделать обновление, если поменяете этот идентификатор. Обычно этот ИД создается по следующей схеме: com.mycompany.mygame. Т.е. что это? Компонент, значит com. Далее идет название вашей компании или просто ваше имя, а далее название игры. У меня это тупо siriusx666.bearputana00210 - просто так, чтобы уж точно ни с чем не повторилось.
Application Version - ну, здесь и ежу понятно, что это такое. В отличии от ИДа, версию можно менять каждый раз или не менять вовсе, всем пофиг.
Orientation - на какую ориентацию экрана рассчитана ваша игра? Думаю здесь тоже обойдемся без комментов.
А далее идет настройка "растягивания" игры на весь экран - Application Scale Method. Благо здесь тоже есть наглядные примеры и объяснения они не требуют, просто нажмите кнопочку Example и всё станет ясно. Если у вас возникают проблемы со скрытием объектов ЗА пределами экрана из-за несоответствия пропорций - вот пример того, как я решил эту проблему у себя.
Всё настроили? Жмем внизу кнопочку Save Project.
Теперь идем в раздел Android:

Здесь вам просто нужно загрузить иконки для вашей игры. Всё просто, формат должен быть PNG и требуемые размеры тоже написаны, например PNG 48x48px. Создать эти иконки можно даже в паинте, а можно тупо загрузить черные квадраты (если вы просто хотите протестить игру, а не выкладывать в сети)
Переходим в раздел Services -> Splashes (Ранее раздел назывался "Common Assets"):
Ставим галку на "Show Custom Splashes"
И жмем кнопку Update.

Здесь загружаем картинки, которые будут показаны перед запуском игры. Размеры не важны.
Ну, а теперь идем в Compile Project:

Здесь жмем кнопочку "Выбрать файл" и выбираем получившийся ZIP-архив нашей игры при экспорте (!ВНИМАНИЕ! В вашем проекте все объекты, переменные и слои необходимо именовать английскими символами! Иначе могут возникнуть проблемы с компиляцией!). Ставим все галочки и жмем кнопку Compile project! Всё! Ждем, когда ссылка на скачивание придет к вам на мыло!!! А на мыло придет архив с двумя APK:
1) Debug signed - подписанный для тестирования на мобильном устройстве, но без возможности загрузки в стор.
2) Release unsigned - для загрузки в Store, но не подписанный (Подробнее об этом здесь: viewtopic.php?f=4&t=625).
Скачали? Ок... Пока будем работать с файлом, который "Debug signed", переименуем его во что-то своё, например в Bear.apk. Попробуйте его установить на ваш телефон и проверить работоспособность. Допустим всё работает, но вы желаете что-то изменить в коде игры... По идее опять нужно загружать на сервис, ждать компиляции, качать в 2 раза больше чем надо... бееее, отстой. Но, я вас уже к этому подготовил и теперь даже не понадобится наличие интернета!
Изменение кода игры и компиляция без необходимости загрузки на CocoonJS!
И так, первое, что для этого нужно сделать - это скачать Java и Apk Manager.
Java качаем здесь: http://www.oracle.com/technetwork/java/ ... 80260.html (Возможно, что для скачивания потребуется регистрация).
В принципе подойдет и более старая версия (а точнее она подойдет абсолютно точно, просто новое - всегда приятнее=) ): http://www.oracle.com/technetwork/java/ ... 36632.html
Пройдя по ссылке найдите вот такой список:

Возможно перед тем как вы попадете на страницу с этим списком нужно будет нажать кнопку Download:

Но у меня это потребовалось только для шестой версии.
Далее ставим переключатель на Accept License Agreement и качаем версию для своей операционной системы (Я качал для Windows x64).
После скачивания ничего замутного делать не придется - просто запустите файл и тупо тыкайте Далее-Далее-Далее (Next-Next-Next), отвечая положительно на все запросы. Никаких дополнительных манипуляций настроек java не требует! И это хорошо!©

Поставили? Ок. Приступаем к скачиванию Apk Manager: http://4pda.ru/forum/index.php?showtopi ... ry16363962 файл APKmanager_5.1.zip. (здесь для скачивания абсолютно точно потребуется регистрация). Кстати, для продвинутых, на этой страничке вы сразу сможете понять, что делать с этим Апк Манагером, а для не очень продвинутых советую читать меня дальше=)
Скачали? Распаковываем папку находящуюся в архиве в любое место на компе, но путь к этой папке не должен содержать русских символов! Короче, не парьтесь, просто распакуйте её в корень какого-нибудь диска... я просто распаковал её в диск C:\ и путь к папке выглядит так: C:\ApkManager (переименовал, убрав в имени 5.1, но вам этого делать не обязательно).
Далее в папке ApkManager должны быть такие папки:

Всё верно? Ну, тогда вы готовы к великим подвигам!
Находим там папку "place-apk-here-for-modding" - в нее качаем APK-файл вашей игры (которая ранее была создана в CocoonJS).
Запускаем файл Script.bat и видим такое окошечко:

У меня мой файл Bear.apk нашелся сразу, о чем свидетельствует его имя в правом верхнем углу. Ежели такового нет, то пишем "22", жмем Enter, затем пишем номер под которым имя вашего файла.

У меня это 1.
Затем делаем Декомпиляцию файла (9).
Если все прошло нормально - то в папке APKmanager\projects\ должна появиться папка с именем идентичным вашему файлу игры... у меня это всё тот же Bear.apk.
Заходим по пути APKmanager\projects\Bear.apk\assets\game\ - в этой папке лежат файлы вашей игры. Это те самые файлы, которые С2 экспортирует для CocoonJS в ZIP-файле. Т.е. если вы что-то изменили в вашей игре, экспортировали это для CocoonJS - то теперь просто удаялем все файлы в папке APKmanager\projects\Bear.apk\assets\game\ и копируем туда всё, что находится в архиве с экспортируемой игрой!
Всё сделали? Теперь возвращаемся к нашему черненькому окошечку с голубым текстом:) и водим команду номер 14 (Компилировать / Подписать / Установить).
Приложение компилируется, подписывается... а вот с установкой возникнут ошибки (об этом, возможно, напишу позже.. а пока просто не обращайте внимание).
Идем в папку APKmanager\place-apk-here-for-modding\ - видим свой Bear.apk и рядом лежит signedBear.apk - вот она! ВОТ ОНА СБОРКА ВАШЕЙ МЕЧТЫ!!! Копируем её на телефон и устанавливаем, тестим!)))
Далее таким же образом можно создать и следующий билд, просто заменяя файлы в папке APKmanager\projects\Bear.apk\assets\game\ и не нужно никакого интернета и нудных ожиданий!
Спасибо за внимание! Подписывайтесь, ставьте
У кого вылетают игры или не загружаются дальше логотипа CocoonJS - попробуйте проверить маску коллизии: viewtopic.php?f=4&t=444&p=20084#p20084
При каких-либо изменениях и дополнениях - буду редактировать данный пост!