Меню Рубрики

Установка cocoonjs для construct 2

Установка cocoonjs для construct 2

1.1 COCOON.IO — Что это?

CocoonIO — это новейший сервис от компании Ludei для компиляции HTML5 игры в Android или IOS приложения. Известно что Ludei предлагают лучшую производительность с их уникальным движком Canvas+. С CocoonIO теперь можно даже добавлять плагины от Cordova и Phonegap в ваш проект. Эта услуга работает в тестовом режиме в данный момент. Если вы хотите узнать больше о Ludei CocoonIO Перейдите по следующим ссылкам: COCOON.IO, Ludei’s Blog

Какие преимущества новой технологии? В итоге самые важные преимущества у CocoonIO это:

— Высокая производительность на мобильных устройствах.
— Возможность добавления плагинов от Cordova и Phonegap.
— Небольшой размер файла.
— Встроенные инструменты выравнивания и подписи приложений.

В следующем руководстве я объясню, как компилировать приложение с CocoonIO с нуля. Я буду использовать Construct2 для создания HTML5 игры, но вы можете сделать это с любой Framework HTML5.

1.2 Установка плагинов
CocoonIO использует новые и улучшенные плагины для Construct2. Если вы будете компилировать ваши игры в CocoonIO, то вам рекомендуется удалить старые плагины «CocoonJS» из проекта и заменить все события и действия на новые.

Загрузите архив, нажав на кнопку «Download ZIP» на правой боковой панели. После скачивания распакуйте архив в удобное для вас место. Сами плагины будут находиться в папке «src» распакованного архива. В ней содержатся папки «ads», «cocoon canvas+», «inapps», «share» и «social».
Закройте Construct2 перед установкой плагинов!
В каждой из этих папок есть еще одна папка. Установите плагины, переместив содержимое этих папок в каталог «…/Construct2/exporters/html5/plugins/…». Затем откройте Construct2 и проверьте что все плагины успешно установлены.

Подготовка игры
В общем, вам не обязательно вносить коррективы в ваш проект, если вы уже используете плагины Cordova (например, от cranberrygame). Вы можете напрямую экспортировать его, как он есть.

Если вы хотите скомпилировать на Canvas+ (то, что я рекомендую), вы должны заменить все функции объекта «Browser» (например Browser.Close) на аналогичные, предусмотренные новым плагином «CocoonCanvasplus». Кроме того, если вы все еще используете старые плагины «CocoonJS», замените их на новые как описано выше.

Откройте свой проект в Construct 2 и выберите платформу для экспорта «Cordova». Старый экспорт CocoonJS работать не будет.

Так же я рекомендую снять выбор с «Minify Script»

Вы можете оставить настройки по умолчанию. Просто экспортируйте его.

Важно! Существует ошибка в файле c2runtime.js.
Пожалуйста прочтите это руководство, чтобы узнать как его исправить.
Правка полноэкранного масштабирования.
Если у вас есть какие-либо проблемы с неправильным масштабированием, выполните следующее:
1.Экспорт с помощью «Cordova»
2.Откройте файл ‘c2runtime.js » любым редактором по вашему выбору. (Желательно Notepad++)
3.Ищем в файле такую вот строку:
Код: Выделить всё this.isRetina = ((!this.isDomFree || this.isEjecta) && this.useHighDpi && !this.isAndroidStockBrowser);
и меняем её на
Код: Выделить всё this.isRetina = ((!this.isDomFree || this.isEjecta || this.isCocoonJs) && this.useHighDpi && !this.isAndroidStockBrowser);
Обратите внимание что вам нужно делать это после каждого экспорта, до тех пор, пока scirra не исправит это.

Затем откройте папку экспорта и откройте файл «config.xml» любым редактором по вашему выбору. (Желательно Notepad++) Найдите там строки:
Код: Выделить всё
В качестве примера:

Скопируйте все плагины в отдельный текстовый файл. Они нам понадобятся позже. Это нужно сделать только один раз, или если вы добавили новые плагины.

Теперь удалите следующие файлы:
— config.xml (убедитесь, что вы скопировали плагины)
— intelxdk.config.additional.xml

Все оставшиеся файлы поместите в «.zip» архив. Он нам понадобится для последующей загрузки.

Войдите и создайте новый проект, загрузив архив из предыдущего шага. Просто воспользуйтесь функцией Drag’n’drop или загрузите его вручную.


Ваш проект будет создан. После этого, откройте проект и перейдите на вкладку «Settings» и введите свои данные. Не забудьте сохранить настройки, нажав на значок в правом нижнем углу.

Теперь перейдите на вкладку «config.xml» и найдите закрытие тэга «platform» .

После закрытия этого тега нужно вставить скопированные теги плагинов из старого файла config.xml, помните? Кроме того, вы можете добавить плагины на вкладке «Plugin», но этот способ работает быстрее. Старые тэги плагинов выглядят примерно так:
Код: Выделить всё

Но при желании и для удобства их можно рассортировать вот так:
Код: Выделить всё

Сохраните изменения и если вы сейчас откроете вкладку «Plugins», то увидите там все ваши добавленные плагины.

CocoonIO в настоящее время в бета-версии. Просто введите свой почтовый адрес, чтобы запросить доступ. Следует отметить, что бета ограничена только двумя проектами.

Я рекомендую Canvas+ так как он обеспечивает высокую производительность и небольшой размер файла, но всё равно выбирать вам. Поменять движок можно на вкладке «Settings».

Загрузка файла с ключами подписи.
CocoonIO позволяет загрузить файл ключей, непосредственно подписать и выровнять игру. Если у вас уже есть ключ, перейдите на вкладку config.xml и прокрутите вниз до «SIGNING» и выберите «Add new key».

Введите ваши данные и нажмите кнопку ‘Добавить’. Затем выберите ключ для подписания. Всё будет сохранено автоматически.

После этого вернитесь назад и нажмите на маленькую кнопку ‘Compile’ и ваша игра будет скомпилирована.

Вам придёт уведомление когда игра будет готова. В письме будет ссылка на скачивание. И если вы всем удовлетворены, то можете публиковать игру.

источник

Установка cocoonjs для construct 2

Экспорт в APK (Andro > Форум Construct 2 > Construct 2 > Уроки по Construct 2 > Другие уроки по Construct 2

Не так давно я задался вопросом экспорта на мобильные платформы, в частности на Android . Сначала я попробовал » Intel XDK » (бывший AppMobi). это было жутко. Не вдаваясь в подробности, объясню почему я не возлюбил этот сервис:
— Перед компиляцией проекта, нужно пройти несколько шагов, следуя определенным правилам сервиса, в которых нужно копать и разбираться. даже если ты просто, тупо, хочешь для себя посмотреть как твоя игра будет выглядеть на экране мобилки, даже без желания её продавать и загружать в маркеты.
— Очень не дружелюбный интерфейс. элементы управления мне показались вовсе не очевидными. Дизайн красивый, но слишком нагроможденный.
— И самое главное — все игры у меня тормозят при любом варианте и даже на расхваленном 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 ).

Читайте также:  Установка дефлектора egr на капот прадо

Скачали? Ок. Пока будем работать с файлом, который «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 и видим такое окошечко:

Кликаем на черненькую иконку левом верхнем углу и выбираем «Умолчания»

В появившемся окне, в закладке «Шрифт» выбираем шрифт Lucida Console

Далее жмем ОК, закрываем консоль и снова запускаем 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 — вот она! ВОТ ОНА СБОРКА ВАШЕЙ МЕЧТЫ. Копируем её на телефон и устанавливаем, тестим!)))

У многих возникают ошибки, типа «adb не является внешней или внутренней командой» или
«Не удается найти C:\APKManager\place-apk-here-for-modding\../place-apk-here-for-modding/signedGive.apk
Не удается найти C:\APKManager\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedGive.apk»

Первое, что вы должны помнить — это то, что я не спроста советую всем копировать «APKManager» в корень системного диска и удалять в имени папки все лишние символы. Путь к данной папке не должен содержать пробелов, странных символов «#», точек, запятых и русских символов, так же путь до папки должен иметь минимальную длину! Всё это с технической точки зрения не обязательно, но, черт возьми, хватит умничать и делайте так, как я говорю во избежании проблем и глупых вопросов. Когда вы будете задавать мне вопросы — я буду автоматически считать в первую очередь то, что вы выполнили на все 100% вышеописанные условия и буду думать о другом решении вашей проблемы.

Теперь, что касается второй популярной ошибки «Не удается найти. » — она у меня возникала частенько, но при этом всё работало, а раз всё работало — то я и не заморачивался на счет её устранения. Но, пользователь Pasifia после решения первой проблемы, решил пойти дальше и таки нашел решение второй, за что ему большое спасибо. Вот, что он пишет:

«Кстати проблема решена, почистил ccleaner-ом временные файлы и установил другой апк менеджер.
Параллельно нашёл инфу как избавиться от ошибки «Не найден путь. «
Может кому будет полезно.

Reported by project member Brut.alll, Dec 5, 2011

If you use —rename-manifest-package option to aapt when building resources something weird happens. Resources are built for old package name, but manifest uses new one. This makes resources broken a little when using current apktool, because they’re built for new package name, so resulting apk is a little different than original one.

Читайте также:  Установка блок bluetooth vw

In most cases it doesn’t matter because resource package name isn’t that important. However in some cases it is, e.g.:
— I think framework apks with changed resource package shouldn’t work anymore
— if apk declares its own attrs and uses them in XMLs, they’re referenced by package name, so references are broken after decoding — you won’t be able to build apk back.

Problem can be reproduced very easily: just create new Android project, define some attr, use it in XML and then build resources with —rename-manifest-package. You will be able to apktool-decode resulting apk, but you will get «error: No resource identifier found for attribute» errors when building back.

Proper solution to this problem is to revert manifest package back to original one. So:
— check if resources package is different than the one in AndroidManifest.xml
— if so then rename android:package to that found in resources.arsc and store original android:package in apktool.yml
— when building use —rename-manifest-package if it is found in apktool.yml

Also in the case of apk-with-attrs files it should be possible to fix the problem quite easily without apktool support: just replace «http://schemas.android.com/apk/res/$» with «http://schemas.android.com/apk/res/$» in all XML files. You can do this in unix by e.g.:

find res -type f | xargs perl -pi -e ‘s/http:\/\/schemas.android.com\/apk\/res\/com.touchtype/http:\/\/schemas.android.com\/apk\/res\/com.touchtype.swiftkey/g’

Вывод некоего Лерика:
«В итоге, как я понял, проблема в том, что в файлах с разметкой написан пакет «http://schemas.andro .
Для пробы изменил манифест на «com.touchtype» — все собралось.
Значит при получении такой ошибки есть два пути — найти во всех файлах разметки неправильное название и заменить на то, что в манифесте или же взять то, что написано в файлах с разметкой и заменить в манифесте. Думаю предпочтительней первый вариант.

З.Ы. Для тех, кто будет встречать эту ошибку в дальнейшем и найдет сей пост: для автоматической замены во всех файлах этой строки можно использовать Notepad++ (Ctrl+F -> Найти в файлах, дальше указываем папку и понеслась. )»

Далее таким же образом можно создать и следующий билд, просто заменяя файлы в папке APKmanager\projects\Bear.apk\assets\game\ и не нужно никакого интернета и нудных ожиданий!

Спасибо за внимание! Подписывайтесь, ставьте лайк плюс. Пока!

Скрытие логотипа CocoonJS.
Вооружившись НЕХ-редактором, сделал хак (libCocoonJSLib.zip во вложении), который убирает логотипы CocoonJS! Вместо логотипа будет показан черный экран, но при желании его можно заменить на любую PNG-картинку! (Статья о том, как я это сделал.) Скачиваем архив и распаковываем файл в папку APKmanager\projects\bear.apk\lib\armeabi\, заменяя оригинал!
Только для личного использования и общеобразовательных интересов!
*использовалась версия CocoonJS от 10.03.2013

Далее обещал заняться вопросом удобной возможности экспорта для Free-пользователей. но я передумал это делать, т.к. считаю это несправедливым к тем, кто всё таки купил лицензию, а так же это будет несправедливым по отношению к Scirra. Чем больше у них купят С2 — тем скорее и круче они допилят его новые версии.
Так что данная статья скорее для владельцев лицензии выше Free.
Вот моя игра (без взлома) под андроид: https://dl.dropbox.com/s/84tq25vpi48fo1g/bear.apk — тот самый медведь))) Устанавливайте, тестируйте. Надеюсь это сподвигнет купить лицензию и экспериментировать самим.

У кого вылетают игры или не загружаются дальше логотипа CocoonJS — попробуйте проверить маску коллизии: viewtopic.php?f=4&t=444&p=20084#p20084

При каких-либо изменениях и дополнениях — буду редактировать данный пост!

Если вы разобрались в какой-то фишке, не видя при этом доступных по ней уроков — не пройдите мимо, создайте свой урок! Это не так трудно и нудно как кажется, если начать. Сначала я думал, что это очень тягомотно и на это требуется куча времени и вообще уроки создают только девственники, у которых ни забот, ни хлопот. ^^ прошу прощения за свой сарказм . Но попробовав, я понял, что это не так уж и трудно. а когда в итоге все получается хорошо и народ благодарит «плюсами» — понимаешь, что потратил время не зря! Без энтузиазма не было бы интернета и этого форума, поэтому не проходите мимо — делитесь своими знаниями.
Надеюсь мотивировал;) Всем спасибо, все свободны=)

Для создания скриншотов я использую QIP Shot — очень удобно.

degortg , ахахах)) где ж ты раньше был, когда я был озадачен этим вопросом?) Спасибо! Безусловно пригодится.

Чтобы узнать где закодировано их тайное послание — нудно расшифровывать файлы. для этого потребуются другие утилиты. Я уже готов ковырять, да только вот. праздник на носу, готовимся=) Как ежели что узнаю новое — дополню пост и здесь отпишусь!

Позже планирую еще долнить маниуал тем, как же поступить владельцам Free-лицении. Там ведь нельзя использовать ништяки экспорта в CocoonJS. Вроде бы проблема решается простым сбором всех файлов игры в одну папку.

Судя по всему, логотипы и вообще «тело» cocoonjs находится в файле libCocoonJSLib.so. Открыл его HEX-редактором, вижу 3 тела файла PNG, одно из них очень похоже на то, что они предлагают в примеры (zip-пак их логотипов) — наверняка оно! прям уверен! После праздника попробую заменить тело нулями или другим телом. Теоретически должно проканать!

У меня возникла идея. А что если найти игру, которая создана методами CocoonJS, но от премиум пользователя? Затем таким же макаром её выпотрошить, и заменить файлы игры на свои=)) Гениально и просто! Вот только где игру то найти такую?

вот игра от ludei собранная на cocoonjs, качай да потроши:)только не уверен, что без этого логотипа, не ставил не проверял!

источник

Добавить комментарий

Adblock
detector