Экспорт, импорт и релиз проекта — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
м
 
(не показана 41 промежуточная версия 6 участников)
Строка 1: Строка 1:
'''§3. Копирование необходимых файлов'''
+
{| width="100%" 
 +
| width="40%"|[[Работа с эффектами|Урок 9]] <<
 +
! width="20%"|[[Learning|Оглавление]]
 +
| width="40%" align="right"| >> [[Создание простой адвентюры|Урок 11]]
 +
|}
 +
----
 +
{{TOC right}}
 +
----
 +
'''Цель:'''  
 +
создать исполняемый файл для запуска проекта на для поддержки всех устройств Apple.
  
Создать папку с названием проекта (например, Learning) → загрузить из ''Y:\!MOBILE\Hidden Object Editor\_All_Last_Builds'' редактор сцен SceneEditor, проигрыватель сцен Viewer, редактор ресурсов ResourcesEditor и папку Sources с исходниками графики для формирования базы графическмх ресурсов. Для ускорения работы редактора копируем все содержимое папки на локальный диск.
+
'''Задачи:'''
'''§4. Создание базы графических ресурсов'''
+
* проверить параметры созданного проекта;
 +
* Настроить viever.xml;
 +
* подготовить проект для финального релиза;
 +
* определить параметры экспорта проекта;
 +
* подготовить проект для создания исполняемого файла;
 +
* запустить проект на устройстве.  
  
1. Запустить редактор ресурсов ResourcesEditor. В меню File выбрать New Project.
+
== Лейауты ==
  
[[Файл:00_24.PNG]] [[Файл:00_25.PNG]]
+
Напомним ([[Введение в AppSalute Сreator|урок 1]]), что лейаут (layout) -
 +
это экран конкретного устройства (телефон, планшетник, десктоп),
 +
имеющего определенное разрешение в пикселях:  
  
2. В окне базы создания ресурсов в строке "Папка проекта" указать путь на ранее созданную пустую папку Resources, затем в строке "Имя базы ресурсов" вписать имя корневой базы Learning_Base.
+
[[Файл:lesson_1_layouts.png|500px]]
  
[[Файл:00_26.PNG]]
+
Самое неприятное при разработке игрового приложения это то, что
 +
соотношение ширины и высоты экранов различных устройств отличаются друг от друга.
 +
Поэтому недостаточно растянуть или сжать изображение, чтобы оно "вписалось" в экран.
 +
Необходимо верхние или боковые части изображения обрезать или наоборот расширять
 +
путем добавления полосок, органично вписывающихся в интерфейс (внешний вид) игры.
  
3. В корневой базе создать папку Create New Folder (например, папка Lesson_01).
+
Некоторые устройства физически являются на столько "мелкими", что, например, кнопки
 +
необходимо для него делать более крупными, чем для устройства с большим экраном.
 +
Кроме этого, иногда требуется поддерживать сразу две ориентации экрана (вертикальную и горизонтальную)
 +
и т.д., и т.п.
  
[[Файл:00 27.png]]
+
=== Один Layout на разных экранах ===
 +
[[Файл:L01.png|400px|right]]
  
4. Загрузить исходники графики из папки Sources → Lesson_01 (аналогична загрузка исходников графики для других уроков).  
+
[[Файл:L02.png|400px|right]]
  
[[Файл:00 28.png]] [[Файл:00_29.PNG]]
+
[[Файл:L03.png|400px|right]]
  
В папке ресурсов Resources автоматически создается папка с корневой базой (в нашем случае Learning_Base), в которой автоматически появляются папка с графическими ресурсами Lesson_01 (для урока 1) и файл Learning_Base.sirx
+
===Параметры===
  
[[Файл:00 30.png]]
+
*sx - ручное масштабирование по х
 +
*sy - ручное масштабирование по y
 +
*x - сдвиг изображения по x
 +
*y - сдвиг изображения по y
 +
*autoPosX - автоматическое позиционирование по х
 +
*autoPosY - автоматическое позиционирование по y
 +
*autoScX - автоматическое масштабирование по x
 +
*autoScY - автоматическое масштабирование по y
  
'''Внимание!''' ''- прямое изменение структуры файлов в папке Resources запрещено. Допускается работа только через редактор ресурсов (ResourcesEditor).''
+
===Расшифровка viever.xml===
  
5. В случае, если имеется уже готовая база ресурсов (а именно, структурированная папка), то можно использовать ее. Для этого нужно при создании новой базы в строке "Папка с графическими ресурсами" указать путь, где находится готовая база ресурсов.
+
<dev /> - устройство(разрешение экрана полученое из системы) на котором будут применяться параметры
  
[[Файл:00_30a.PNG]] [[Файл:00_30b.PNG]]
+
w, h - ширина и высота разрешения экрана устройства для которого будут применены параметры
  
'''§5. Работа в ResourcesEditor'''
+
далее идут параметры масштабирования, сдвига и позиционирования экрана
  
* Графические ресурсы, которые можно загружать в ResourcesEditor, могут быть двух типов:
+
nm - название лейаута, отображается в отладочном режиме на экране настроек
  
JPEG - изображение, не имеющее прозрачности. Может использоваться для "облегчения веса", в качестве фонового изображения или для паззла;
+
===Применение===
 +
Пусть экран размера 960х640 и необходимо его настроить следующим образом:
 +
для ipad-ов предусмотрены сверху и снизу поля, которые "отрежутся", для iphone5 предусмотрена справа и слева графика. Следовательно для ipad надо растянуть изображение по ширине, для iphone 5 по высоте, для iphone 4 - без разницы - родное разрешение.
  
PNG - может поддерживать прозрачность, произвольные границы изображения. Сохраняет высокое качество изображения.  
+
Для этого необходимо составить настройки для всех разрешений экранов.
  
Использование бордеров исключает появление артефактов вокруг png-изображений за счет добавления прозрачной области (в пикселях) по контуру. Это можно сделать, как локально, так для всех изображений:
+
'''iPad'''
  
Для одного изображения: [[Файл:00_37.PNG]]
+
# укажем разрешение экрана w="1024" h="768" для ipad 1, 2, mini и w="2048" h="1536" для ipad 3
 +
# автоматически потянем по ширине autoScX="1" - изображение пропорционально отмасштабируется таким образом, чтобы ширина экрана соответствовала ширине экрана устройства.
 +
# автоматически отпозиционируем по y - т.к. по ширине тянем autoPosY="1"
 +
# можно указать что по y пропорционально не надо тянуть autoScY="0", хотя это не обязательно
 +
# укажем название nm="ipad 1 2" и nm="ipad 3" - удобно для проверки
  
Для всех изображений: [[Файл:00_46.PNG]] [[Файл:00_47.PNG]]
+
<dev w="1024" h="768" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 1 2" />
  
* Анимация загружается из любой папки с некоторым количеством файлов изображений.
+
<dev w="2048" h="1536" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 3" />
  
[[Файл:00_40.PNG]] [[Файл:00_41.PNG]]
 
  
После загрузки анимации можно изменить ее параметры. Например, изменить скорость анимации (смены кадров) и зациклить, поставив галочку напротив Looped.
+
'''iPhone 4/4s'''
  
[[Файл:00_42.PNG]]
+
# укажем разрешение экрана w="960" h="640"
 +
# автоматически потянем по ширине autoScX="1" - изображение пропорционально отмасштабируется таким образом, чтобы ширина экрана соответствовала ширине экрана устройства. Хотя можно тянуть и по y.
 +
# автоматически отпозиционируем по y - т.к. по ширине тянем autoPosY="1"
 +
# можно указать что по y пропорционально не надо тянуть autoScY="0", хотя это не обязательно
 +
# укажем название nm="iphone 4"
  
В левой части нижнего окна анимации находится список загруженных изображений, в правой - последовательность изображений (кадров), которые можно менять местами, добавлять/удалять, загружать в прямом/обратном порядке. Таким образом, можно "уменьшить вес" анимации за счет использования меньшего количества исходных изображений.
+
<dev w="960" h="640" autoPosY="1" autoScX="1" autoScY="0" nm="iphone 4" />
  
[[Файл:00_43.PNG]] [[Файл:00_44.PNG]] [[Файл:00_45.PNG]]
 
  
* Звуковые файлы, подгружаемые в ResourcesEditor, могут быть двух форматов:
+
'''iPhone 5'''
  
mp3 - используется как ресурс для длинного звука mus. Звуки такого формата могут воспроизводиться только последовательно.
+
# укажем разрешение экрана w="1136" h="640"
 +
# автоматически потянем по ширине autoScY="1" - изображение пропорционально отмасштабируется таким образом, чтобы высота экрана соответствовала высоте экрана устройства.  
 +
# автоматически отпозиционируем по x - т.к. по ширине тянем autoPosX="1"
 +
# можно указать что по x пропорционально не надо тянуть autoScX="0", хотя это не обязательно
 +
# укажем название nm="iphone 5"
  
ogg - используется как ресурс для короткого звука snd (snd-звуки могут воспроизводиться параллельно) и для подключения голоса voice (если voice подключен к тексту, то воспроизводится последовательно). Имеет меньший объем, чем формат mp3.
+
<dev w="960" h="1136" autoPosX="1" autoScY="1" autoScX="0" nm="iphone 5" />
  
[[Файл:00_48.PNG]]
+
В итоге получим такую конфигурацию файла:
  
'''§6. Интерфейс приложения TextEditor'''
+
<pre>
 +
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
 +
<viewer>
 +
    <banners platform_id="2" instal_dir="assets/games/iphone/"/>
 +
    <globaltop />
 +
<flurry game_id=""/>
 +
<dev w="1024" h="768" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 1 2" />
 +
        <dev w="2048" h="1536" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 3" />
 +
        <dev w="960" h="640" autoPosY="1" autoScX="1" autoScY="0" nm="iphone 4" />
 +
<dev w="960" h="1136" autoPosX="1" autoScY="1" autoScX="0" nm="iphone 5" />
 +
    <default prj="project.seproj" cut="0" video_memory="64715200" color_aabbggrr="ff000000" scr="0" lay="0"/>
 +
</viewer>
 +
</pre>
  
1. Вверху окна приложения расположены кнопки общего меню:
+
Если надо отключить полосу загрузки, которая показывается при переходе между экранами делается это добавлением параметра progressbar="0".
  
[[Файл:00_38.PNG]]
+
<default prj="project.seproj" cut="0" video_memory="64715200" color_aabbggrr="ff000000" scr="0" lay="0" ''progressbar="0"'' />
  
2. Обозначения значков:
+
===Правила применения===
  
[[Файл:00 6.png]] — команда создать Новый файл; [[Файл:00 7.png]] — команда открыть уже созданный проект;
+
# следует избегать одновременного масштабирования по x и по y
 +
# если масштабируется изображение по x, то позиционирование должно быть по y
 +
# использовать или ручной сдвиг, или позиционирование. Лучше позиционирование.
  
[[Файл:00 8.png]] — сохранить изменения в файле; [[Файл:00 18.png]] — создать новую папку в корневой базе;
+
[[Файл:Plat.png|right]]
  
[[Файл:00_53.PNG]] — добавить новую текстовую запись; [[Файл:00 19.png]] — удалить текстовую запись.
+
== Подготовка проекта ==
 +
Мы подошли к самому интересному :-), - это запуск проекта на мобильном устройстве и не только.
  
3. Если нажать в меню кнопку File, выпадет список команд, с помощью которых можно создать новый или загрузить уже созданный файл, сохранить файл с указанием места сохранения и т.д.
+
При экспорте проекта осуществляется поддержка основных платформ:
  
[[Файл:00_39.PNG]]
+
*iPhone
 +
*Android
 +
*Windows
 +
*MacOS (Для сборки пакета необходима инсталляция на OS Mac)
 +
*Play Book (Blackberry)
 +
*Flash                            [[Файл:FlashPlayer.png|30px]]
  
4. Если нажать в меню кнопку Resource, выпадет список команд:
+
=== Создание нового проекта ===
  
[[Файл:00_49.PNG]]
+
Перед  экспортом проекта необходимо проверить настройки проекта.
 +
*Конфигурацию в файле app.icf
 +
*Настройки шрифтов
 +
*Наличие иконок
  
Open Resource - позволяет создать базу по ранее подготовленной графической базе ресурсов с точным совпадением структуры и названием папок и файлов. Используется для Hidden Objects;
+
Общая структура файла конфигурации приложения [[App.icf|app.icf]] описана здесь
  
[[Файл:00_50.PNG]]
+
Основные параметры которые необходимо проверить
 +
*'''MemSize'''=32000000 - значение памяти которое выделяем для приложения
 +
*[Fonts]
  
Choose Resource File - позволяет подгрузить базу графических ресурсов для перетаскивания изображений из ResourcesEditor на иконку;
+
font_1="1_arial_16" - шрифт и его номер который используется в проекте
  
[[Файл:00_.PNG]] [[Файл:00_.PNG]]
+
=== Экспорт ===
 +
[[Файл:Exp11.png|right]]
 +
Процедура экспорта с точки зрения пользователя одна из самых простых и требует минимальных настроек, однако скрытые операции достаточно сложны и ресурсоемки.    Экспорт проекта необходимо проводить каждый раз перед созданием исполняемых файлов.
  
Choose Categories Config - помогает классифицировать текстовые файлы по категориям.
+
Основные этапы
 +
*Выполняется сжатие графики при необходимости
 +
*Очистка базы ресурсов от неиспользуемой графики
 +
*Запаковка графики в текстуры и контейнер
  
[[Файл:00_51.PNG]] [[Файл:00_52.PNG]]
+
Итак, перед экспортом проекта необходимо сохранить все изменения сделанные в проекте ранее.
  
5. В окне приложения TextEditor справа в столбце Word можно указать перевод текстовой записи на различных языках, в столбце Sentence1,Sentence2 - указать подсказку для текстовой записи, в столбце voice - подключить звуковой файл для текстовой записи из ResourcesEditor.
+
Настройки экспорта состоят из:
  
[[Файл:00_54.PNG]]
+
[[Файл:Exp12.png|right]]
  
'''§7. Создание проекта'''
 
  
1. Для создания нового игрового проекта необходимо запустить редактор сцен SceneEditor.
+
'''Параметров сжатия графики''' - Можно указывать значение от 1 до 0 для осей '''x'''(width) '''y'''(height). Указанный параметр '''x'''= 0,75 будет соответствовать 75% по ширине от исходного размера лейаута. Сжатие также возможно и непропорциональное т е с указанием разных значений по осям (не  рекомендуется использовать).
 +
Пример использования: вы создали проект для iPad retina с размерами лейаута (2024x1536), теперь вы хотите сформировать исполняемый файл для Android планшета с разрешением экрана 1024х768. Для этого необходимо указать в параметрах '''x''' и '''y''' значение равное 0,5 (50%). В результате экспорта получим графику с разрешением 1024х768 и все параметры проекта будут пересчитаны под данное разрешение.
  
[[Файл:00_31.PNG]]
+
'''Результат:''' значительная экономия в размерах .apk файла и огромная экономия оперативной памяти на устройстве.
 +
     
 +
'''Тип экспорта''' 
 +
*'''One project file''' - формируется один XML файл описывающий проект. Рекомендуется использовать второй тип при значительных размерах проекта.
 +
   
 +
*'''Split project on screens, load partly''' - проект будет разбит на отдельные файлы описывающие экраны, загружаться файлы будут в порядке использования (вызова) в проекте. В результате получаем увеличение начальной загрузки проекта и использование меньшего объема оперативной памяти.
  
2. В верхнем меню Проект выбрать Новый (т.е. создать новый проект).
+
'''Параметры запаковки графики'''
 +
*'''Packege Type''' -  упаковка ресурсов в фаил с типом DAT. Обеспечиваем защиту ресурсов проекта от несанкционированного доступа. Увеличиваем производительность при операциях чтения файлов ресурсов с твердотельного носителя.
 +
*'''Texture Type''' - упаковка графических файлов в текстуры. Необходимо для уменьшения используемого объема оперативной памяти.
  
[[Файл:00 32.png]]
+
'''Export to folder''' - Путь для экспорта. Для создания папки с экспортом необходимо указать любой путь (папку) на диске. Будет создана папка  [[Файл:Proj_folder.png]]
  
3. В появившемся окне указать имя проекта и имя базы.
+
Структура папки:
  
[[Файл:019.JPG]]
+
[[Файл:TreeFolder.png]]
  
4. В этом окне выбираем устройство для которого создаётся проект.
+
'''Select platform''' - необходимо выбрать платформу для которой будем собирать проект.  
  
[[Файл:020.JPG]]
+
'''Примечание:''' ''Для сборки под различный платформы необходимо установить Marmalade SDK''  [[Установка и настройка|см. инструкцию]]  
 +
  при этом не нужно указывать путь для экспорта (оставить поле пустым). В результате запустится скрипт сборки исполняемого пакета,
 +
  это будет видно по черным экранам с ходом выполнения процесса сборки.
  
 +
'''Итак:''' Сохраняем открытый проект с выполненными уроками <tt>Project</tt> &rarr; <tt>Export</tt> настраиваем параметры как показано на картинке
  
[[Файл:021.JPG]]
+
[[Файл:Export_window.png]]
  
5. В редакторе сцен в меню Проект → Сохранить → проект Learning. Эту методику действий можно брать за шаблон для создания других проектов.
+
Нажимаем кнопку <tt>Ok</tt> и ждем несколько минут.  
 +
Процесс экспорта будет отображаться в окне
  
Результат: Создана база ресурсов и проект для выполнения Уроков.  
+
[[Файл:Export_progres.png]]
  
[[Файл:00 36.png]]
+
В результате экспорта у вас должно открыться приложение iTunes с добавленным проектом Absolutist с иконкой [[Файл:114.png|50px]]
 +
 
 +
'''Поздравляю Вы это сделали!!'''
 +
 
 +
Если вы не получили ожидаемого результата необходимо проверить следующее:
 +
# Для сборки пакетов под iPhone платформу вы должны иметь сертификат разработчика
 +
# Проверить ход выполнения настройки по [[Установка и настройка|см. инструкцию]]
 +
# Проверить и\или установить iTunes
 +
 
 +
Если вы обладатель мобильного устройства на системе Android необходимо  указать ''Android''  в разделе '''Select platform''' и вы получите фаил absolutist.apk
 +
 
 +
'''Поздравляю Вы это сделали!!'''
 +
 
 +
== Упражнения ==
 +
 
 +
* Настройте параметры viever.xml для корректной работы на вашем мобильном устройстве (если конечно оно у вас есть)
 +
* Настройте параметры viever.xml для системы Windows под рабочий монитор
 +
* Определите какое разрешение для ваших игр наиболее подходящее
 +
* Создайте проект для вашего мобильного устройства
 +
 
 +
 
 +
----
 +
{| width="100%" 
 +
| width="40%"|[[Работа с эффектами|Урок 9]] <<
 +
! width="20%"|[[Learning|Оглавление]]
 +
| width="40%" align="right"| >> [[Создание простой адвентюры|Урок 11]]
 +
|}
 +
 
 +
[[Category:Learning]]

Текущая версия на 11:07, 29 июля 2019

Урок 9 << Оглавление >> Урок 11


Цель: создать исполняемый файл для запуска проекта на для поддержки всех устройств Apple.

Задачи:

  • проверить параметры созданного проекта;
  • Настроить viever.xml;
  • подготовить проект для финального релиза;
  • определить параметры экспорта проекта;
  • подготовить проект для создания исполняемого файла;
  • запустить проект на устройстве.

Лейауты

Напомним (урок 1), что лейаут (layout) - это экран конкретного устройства (телефон, планшетник, десктоп), имеющего определенное разрешение в пикселях:

Lesson 1 layouts.png

Самое неприятное при разработке игрового приложения это то, что соотношение ширины и высоты экранов различных устройств отличаются друг от друга. Поэтому недостаточно растянуть или сжать изображение, чтобы оно "вписалось" в экран. Необходимо верхние или боковые части изображения обрезать или наоборот расширять путем добавления полосок, органично вписывающихся в интерфейс (внешний вид) игры.

Некоторые устройства физически являются на столько "мелкими", что, например, кнопки необходимо для него делать более крупными, чем для устройства с большим экраном. Кроме этого, иногда требуется поддерживать сразу две ориентации экрана (вертикальную и горизонтальную) и т.д., и т.п.

Один Layout на разных экранах

L01.png
L02.png
L03.png

Параметры

  • sx - ручное масштабирование по х
  • sy - ручное масштабирование по y
  • x - сдвиг изображения по x
  • y - сдвиг изображения по y
  • autoPosX - автоматическое позиционирование по х
  • autoPosY - автоматическое позиционирование по y
  • autoScX - автоматическое масштабирование по x
  • autoScY - автоматическое масштабирование по y

Расшифровка viever.xml

<dev /> - устройство(разрешение экрана полученое из системы) на котором будут применяться параметры

w, h - ширина и высота разрешения экрана устройства для которого будут применены параметры

далее идут параметры масштабирования, сдвига и позиционирования экрана

nm - название лейаута, отображается в отладочном режиме на экране настроек

Применение

Пусть экран размера 960х640 и необходимо его настроить следующим образом: для ipad-ов предусмотрены сверху и снизу поля, которые "отрежутся", для iphone5 предусмотрена справа и слева графика. Следовательно для ipad надо растянуть изображение по ширине, для iphone 5 по высоте, для iphone 4 - без разницы - родное разрешение.

Для этого необходимо составить настройки для всех разрешений экранов.

iPad

  1. укажем разрешение экрана w="1024" h="768" для ipad 1, 2, mini и w="2048" h="1536" для ipad 3
  2. автоматически потянем по ширине autoScX="1" - изображение пропорционально отмасштабируется таким образом, чтобы ширина экрана соответствовала ширине экрана устройства.
  3. автоматически отпозиционируем по y - т.к. по ширине тянем autoPosY="1"
  4. можно указать что по y пропорционально не надо тянуть autoScY="0", хотя это не обязательно
  5. укажем название nm="ipad 1 2" и nm="ipad 3" - удобно для проверки

<dev w="1024" h="768" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 1 2" />

<dev w="2048" h="1536" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 3" />


iPhone 4/4s

  1. укажем разрешение экрана w="960" h="640"
  2. автоматически потянем по ширине autoScX="1" - изображение пропорционально отмасштабируется таким образом, чтобы ширина экрана соответствовала ширине экрана устройства. Хотя можно тянуть и по y.
  3. автоматически отпозиционируем по y - т.к. по ширине тянем autoPosY="1"
  4. можно указать что по y пропорционально не надо тянуть autoScY="0", хотя это не обязательно
  5. укажем название nm="iphone 4"

<dev w="960" h="640" autoPosY="1" autoScX="1" autoScY="0" nm="iphone 4" />


iPhone 5

  1. укажем разрешение экрана w="1136" h="640"
  2. автоматически потянем по ширине autoScY="1" - изображение пропорционально отмасштабируется таким образом, чтобы высота экрана соответствовала высоте экрана устройства.
  3. автоматически отпозиционируем по x - т.к. по ширине тянем autoPosX="1"
  4. можно указать что по x пропорционально не надо тянуть autoScX="0", хотя это не обязательно
  5. укажем название nm="iphone 5"

<dev w="960" h="1136" autoPosX="1" autoScY="1" autoScX="0" nm="iphone 5" />

В итоге получим такую конфигурацию файла:

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<viewer>
    <banners platform_id="2" instal_dir="assets/games/iphone/"/>
    <globaltop 	 />
	<flurry game_id=""/>
	<dev w="1024" h="768" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 1 2" />
        <dev w="2048" h="1536" autoPosY="1" autoScX="1" autoScY="0" nm="ipad 3" />
        <dev w="960" h="640" autoPosY="1" autoScX="1" autoScY="0" nm="iphone 4" />
	<dev w="960" h="1136" autoPosX="1" autoScY="1" autoScX="0" nm="iphone 5" />
    <default prj="project.seproj" cut="0" video_memory="64715200" color_aabbggrr="ff000000" scr="0" lay="0"/> 
</viewer> 

Если надо отключить полосу загрузки, которая показывается при переходе между экранами делается это добавлением параметра progressbar="0".

<default prj="project.seproj" cut="0" video_memory="64715200" color_aabbggrr="ff000000" scr="0" lay="0" progressbar="0" />

Правила применения

  1. следует избегать одновременного масштабирования по x и по y
  2. если масштабируется изображение по x, то позиционирование должно быть по y
  3. использовать или ручной сдвиг, или позиционирование. Лучше позиционирование.
Plat.png

Подготовка проекта

Мы подошли к самому интересному :-), - это запуск проекта на мобильном устройстве и не только.

При экспорте проекта осуществляется поддержка основных платформ:

  • iPhone
  • Android
  • Windows
  • MacOS (Для сборки пакета необходима инсталляция на OS Mac)
  • Play Book (Blackberry)
  • Flash FlashPlayer.png

Создание нового проекта

Перед экспортом проекта необходимо проверить настройки проекта.

  • Конфигурацию в файле app.icf
  • Настройки шрифтов
  • Наличие иконок

Общая структура файла конфигурации приложения app.icf описана здесь

Основные параметры которые необходимо проверить

  • MemSize=32000000 - значение памяти которое выделяем для приложения
  • [Fonts]

font_1="1_arial_16" - шрифт и его номер который используется в проекте

Экспорт

Exp11.png

Процедура экспорта с точки зрения пользователя одна из самых простых и требует минимальных настроек, однако скрытые операции достаточно сложны и ресурсоемки. Экспорт проекта необходимо проводить каждый раз перед созданием исполняемых файлов.

Основные этапы

  • Выполняется сжатие графики при необходимости
  • Очистка базы ресурсов от неиспользуемой графики
  • Запаковка графики в текстуры и контейнер

Итак, перед экспортом проекта необходимо сохранить все изменения сделанные в проекте ранее.

Настройки экспорта состоят из:

Exp12.png


Параметров сжатия графики - Можно указывать значение от 1 до 0 для осей x(width) y(height). Указанный параметр x= 0,75 будет соответствовать 75% по ширине от исходного размера лейаута. Сжатие также возможно и непропорциональное т е с указанием разных значений по осям (не рекомендуется использовать). Пример использования: вы создали проект для iPad retina с размерами лейаута (2024x1536), теперь вы хотите сформировать исполняемый файл для Android планшета с разрешением экрана 1024х768. Для этого необходимо указать в параметрах x и y значение равное 0,5 (50%). В результате экспорта получим графику с разрешением 1024х768 и все параметры проекта будут пересчитаны под данное разрешение.

Результат: значительная экономия в размерах .apk файла и огромная экономия оперативной памяти на устройстве.

Тип экспорта

  • One project file - формируется один XML файл описывающий проект. Рекомендуется использовать второй тип при значительных размерах проекта.
  • Split project on screens, load partly - проект будет разбит на отдельные файлы описывающие экраны, загружаться файлы будут в порядке использования (вызова) в проекте. В результате получаем увеличение начальной загрузки проекта и использование меньшего объема оперативной памяти.

Параметры запаковки графики

  • Packege Type - упаковка ресурсов в фаил с типом DAT. Обеспечиваем защиту ресурсов проекта от несанкционированного доступа. Увеличиваем производительность при операциях чтения файлов ресурсов с твердотельного носителя.
  • Texture Type - упаковка графических файлов в текстуры. Необходимо для уменьшения используемого объема оперативной памяти.

Export to folder - Путь для экспорта. Для создания папки с экспортом необходимо указать любой путь (папку) на диске. Будет создана папка Proj folder.png

Структура папки:

TreeFolder.png

Select platform - необходимо выбрать платформу для которой будем собирать проект.

Примечание: Для сборки под различный платформы необходимо установить Marmalade SDK   см. инструкцию 
 при этом не нужно указывать путь для экспорта (оставить поле пустым). В результате запустится скрипт сборки исполняемого пакета, 
 это будет видно по черным экранам с ходом выполнения процесса сборки.

Итак: Сохраняем открытый проект с выполненными уроками ProjectExport настраиваем параметры как показано на картинке

Export window.png

Нажимаем кнопку Ok и ждем несколько минут. Процесс экспорта будет отображаться в окне

Export progres.png

В результате экспорта у вас должно открыться приложение iTunes с добавленным проектом Absolutist с иконкой 114.png

Поздравляю Вы это сделали!!

Если вы не получили ожидаемого результата необходимо проверить следующее:

  1. Для сборки пакетов под iPhone платформу вы должны иметь сертификат разработчика
  2. Проверить ход выполнения настройки по см. инструкцию
  3. Проверить и\или установить iTunes

Если вы обладатель мобильного устройства на системе Android необходимо указать Android в разделе Select platform и вы получите фаил absolutist.apk

Поздравляю Вы это сделали!!

Упражнения

  • Настройте параметры viever.xml для корректной работы на вашем мобильном устройстве (если конечно оно у вас есть)
  • Настройте параметры viever.xml для системы Windows под рабочий монитор
  • Определите какое разрешение для ваших игр наиболее подходящее
  • Создайте проект для вашего мобильного устройства



Урок 9 << Оглавление >> Урок 11