<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.appsalutecreator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akarpel</id>
	<title>wiki.appsalutecreator.com - Вклад участника [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.appsalutecreator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akarpel"/>
	<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Akarpel"/>
	<updated>2026-10-17T02:58:54Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9076</id>
		<title>Isomover</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9076"/>
		<updated>2017-09-22T14:47:47Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Пример */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Isomover''' - [[Object|объект]] используется для осуществления движения и взаимодействия в изометрической карте. &lt;br /&gt;
&lt;br /&gt;
  Isomover обязательно должен быть подобъектом [[isomap]]. &lt;br /&gt;
&lt;br /&gt;
В проекте с картой ([[isomap]]) и движущимися по ней объектами (isomover) часто используют [[economics]] и [[eitems]] потому, что для завершения процессов часто требуется применить предмет или ресурс.&lt;br /&gt;
&lt;br /&gt;
Начало движения множества изомуверов сильно нагружает систему, поэтому следует позаботиться, чтобы это происходило не в один момент времени. По возможности добавляйте небольшую и различную паузу каждому изомуверу перед стартом.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
*'''Положение''' (''x'',''y'') - рекомендуется выносить isomover-объекты за пределы карты. Иначе, если объект должен появляться не сразу, то он будет просто стоять без движения&lt;br /&gt;
*'''Память''' - всегда должно быть значение 1, обязательное условие корректной работы. Это позволяет объекту двигаться последовательно, не инициализируясь после каждого движения в исходной точке&lt;br /&gt;
*'''тип ребра min''' (''edge_t_min'') - перемещаться по ребрам не ниже заданного, -1 не проверять&lt;br /&gt;
*'''тип ребра max''' (''edge_t_max'') - перемещаться по ребрам не выше заданного, -1 не проверять. Типы ребер задаются в isomap&lt;br /&gt;
*'''Старт''' (''start'') - точка старта, выбирается из списка точек Isomap&lt;br /&gt;
*'''Финиш''' (''finish'') - точка финиша, выбирается из списка точек Isomap&lt;br /&gt;
*'''Скорость (макс)''' (''vel_max'') - максимальная скорость, с которой передвигается объект Isomover&lt;br /&gt;
*'''Скорость''' (''vel'') - не использовать, вычисляется по формуле автоматически, позже будет скрыто. V = Vmax*(k+(1-k)*(P/Pmax))&lt;br /&gt;
*'''Жизнь (макс)''' (''pow_max'') - максимальная жизнь&lt;br /&gt;
*'''Жизнь''' (''pow'') - текущая жизнь, высчитывается по формуле автоматически&lt;br /&gt;
*'''Сохранять жизнь в опции''' (''powsave'') - если да, то объекты сцены сохранят уровень жизни при выходе со сцены и возвращении на нее&lt;br /&gt;
*'''Коэффициент скорости''' (''speed_k'') - коэффициент k в формуле расчета скорости. Чтобы скорость не зависела от значения жизни - указываем speed_k = 1&lt;br /&gt;
*'''Менять угол''' (''fixangle'') - изменение угла для предания плавности смены графики при дугообразном перемещении объекта. С появлением 3D-объектов больше не используется&lt;br /&gt;
*'''Тип''' (''mtype'') - объекты можно разделять на типы (люди, монстры, звери и т.д.). Взаимодействие происходит между объектами разных типов, настраивается в добавляемых параметрах&lt;br /&gt;
*'''Радиус''' (''mradius'') - значения радиуса. Попадание изомувера другого типа в этот радиус позволит начать взаимодействие.&lt;br /&gt;
*'''Цель при действии''' (''mtarget'') - мувер может быть целью взаимодействия пока сам действует&lt;br /&gt;
*'''Запретить действие''' (''disact'') - мувер не сможет перейти из acting_wait в acting&lt;br /&gt;
*'''Время появления''' (''appear_time'') - время в миллисекундах появления и исчезания изомувера (длительность перехода по alpha)&lt;br /&gt;
*'''Время провала''' (''fail_time'') - длительность анимации смерти объекта, по его окончанию произойдет переход в состояние ''disappear''&lt;br /&gt;
*'''Время паузы''' (''pause_time'') - длительность &amp;quot;заморозки&amp;quot; объекта&lt;br /&gt;
*'''Предмет паузы''' (''pause_item'') - предмет для включения паузы&lt;br /&gt;
*'''fail при 0 жизни''' (''zerofail'') - 1- при нулевом уровне жизни изомувер перейдет в fail, 0 - останется жив&lt;br /&gt;
*'''Не пересчитывать маршрут''' (''softrecalc'') - 1- при отключении ребер графа не произойдет пересчета маршрута, 0 - маршрут будет пересчитан&lt;br /&gt;
*'''Реагировать на''' (''tapreact'') - 1- на тап, 0- на клик&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные параметры==&lt;br /&gt;
[[Файл:Isomover1.png|right|300px]]&lt;br /&gt;
*'''Графический ресурс:'''&lt;br /&gt;
**вверх (''res0'') - графический ресурс движения вверх&lt;br /&gt;
**вверх/вправо (''res1'') - графический ресурс движения вверх/вправо&lt;br /&gt;
**вправо (''res2'') - графический ресурс движения вправо &lt;br /&gt;
**вниз/вправо (''res3'') - графический ресурс движения вниз/вправо&lt;br /&gt;
**вниз (''res4'') - графический ресурс движения вниз &lt;br /&gt;
**вниз/влево (''res5'') - графический ресурс движения вниз/влево&lt;br /&gt;
**влево (''res6'') - графический ресурс движения влево &lt;br /&gt;
**вверх/влево (''res7'') - графический ресурс движения вверх/влево. Достаточно указать первые пять ресурсов, а остальные редактор отобразит автоматически симметрично&lt;br /&gt;
**деятельность (''resa'') - графический ресурс для состояния acting&lt;br /&gt;
**иконка персонажа (''char_ico'') - иконка, которая будет находится сверху над персонажем. Изменение масштаба во время игры не влияет на масштаб иконки. Рекомендуется создавать ее с пивотом у нижней границы, тогда при масштабировании не будет образовываться зазор между иконкой и графикой объекта&lt;br /&gt;
**смещение иконки персонажа (''char_ico_shift'') - смещение иконки по вертикали&lt;br /&gt;
**рисовать при действии (''resad'') - 1- мувер рисуется при состоянии acting, 0- не рисуется&lt;br /&gt;
**провал (''resf'') - графический ресурс состояния fail. Может быть картинкой или анимацией&lt;br /&gt;
**пауза (''resp'') - графический ресурс состояния pause&lt;br /&gt;
**восстановление жизни (''resheal'') - графический ресурс восстановления жизни&lt;br /&gt;
*'''3D ресурс'''&lt;br /&gt;
**модель (''mdl'') - трехмерный ресурс для отображения объекта&lt;br /&gt;
**scale x (''mdlSx'') - масштаб по оси ''x''&lt;br /&gt;
**scale y (''mdlSy'') - масштаб по оси ''y''&lt;br /&gt;
**scale z (''mdlSz'') - масштаб по оси ''z''&lt;br /&gt;
*'''Звуки'''&lt;br /&gt;
**всплывание подложки (''snd_panel'') - звук показывающейся подложки&lt;br /&gt;
**исчезание подложки (''snd_panel_hide'') - звук прячущейся подложки&lt;br /&gt;
**переход в acting (''snd_to_acting'') - звук перехода в состояние acting&lt;br /&gt;
**применение предмета (''snd_item_used'') - звук применение предмета при взаимодействии&lt;br /&gt;
**предмет при паузе (''snd_item_pause'') - звук применение предмета при паузе&lt;br /&gt;
**конец паузы (''snd_pause_end'') - звук при окончании паузы&lt;br /&gt;
**фейл взаимодействия (''snd_fail'') - звук при переходе в fail&lt;br /&gt;
**успех взаимодействия (''snd_success'') - звук при переходе в win&lt;br /&gt;
**клик (''snd_click'') - звук при клике&lt;br /&gt;
*'''Коэффициент скорости'''&lt;br /&gt;
**вертикальное (''speed_0'') - на этот коэффициент умножается скорость при вертикальном движении&lt;br /&gt;
**диагональное (''speed_1'') - на этот коэффициент умножается скорость при диагональном движении&lt;br /&gt;
**горизонтальное (''speed_2'') - на этот коэффициент умножается скорость при горизонтальном движении&lt;br /&gt;
Обычно горизонтальный коэффициент равен 1.00, чуть меньше диагональный и еще меньше вертикальный. Это необходимо для создания реалистичности движения относительно перспективы. То есть объекты, двигаясь вверх, как бы отдаляются от нас в глубь, поэтому по экрану они движутся медленней&lt;br /&gt;
[[Файл:Isomover2.png|right]]&lt;br /&gt;
*'''Таймер''':&lt;br /&gt;
**подложка (''digBg'') - фон для цифр таймера&lt;br /&gt;
**цифры (''digNorm'') - набор из 10-и цифр в виде ресурса анимации (клипа)&lt;br /&gt;
**двоеточие (''colNorm'') - графический ресурс двоеточия&lt;br /&gt;
**dx (''dx'') - смещение таймера по оси ''x'' относительно пивота изомувера&lt;br /&gt;
**dy (''dy'') - смещение таймера по оси ''y'' относительно пивота изомувера&lt;br /&gt;
**dx между цифрами (''digShift'') - расстояние между цифрами таймера&lt;br /&gt;
**dx от (''colShift'') - отступы числовых разрядов влево и вправо от двоеточия&lt;br /&gt;
**жизнь (''objlife'') - здесь выбирается объект типа прогресс_бар для отображения шкалы уровня жизни. Progress_bar создается отдельным объектом&lt;br /&gt;
Таймер позволяет отобразить время до окончания взаимодействия объектов. Например &amp;quot;корабль&amp;quot; прибыл в &amp;quot;порт&amp;quot; и начал отгружать груз. С помощью числового таймера или progress_bar можно увидеть через сколько закончится отгрузка. На рисунке справа показано взаимодействие двух объектов с изображение шкалы жизни одного из объектов и времени до конца взаимодействия.&lt;br /&gt;
*'''Преследование'''&lt;br /&gt;
**тип (''chasetype'') - тип объекта, который можно преследовать&lt;br /&gt;
**радиус (''chaseradius'') - если объект указанного типа окажется в этом радиусе, то начнется преследование (например полицейская погоня)&lt;br /&gt;
*'''Дорожное движение'''&lt;br /&gt;
**радиус (''stopradius'') - объекты, которые двигались по одному ребру, останавливаются на расстоянии этого радиуса (необходимо для препятствия наслоений объектов на дороге, железнодорожных путях)&lt;br /&gt;
*'''восстановление жизни''':&lt;br /&gt;
**критический уровень (''pow_min'') - Критический уровень жизни&lt;br /&gt;
**предмет (''pow_item'') - Предмет восстановления &lt;br /&gt;
**время (''pow_time'') - Время восстановления жизни&lt;br /&gt;
&lt;br /&gt;
*курсор (''curs'') - Графический ресурс курсора текущего и всех дочерних объектов&lt;br /&gt;
*прокликиваемая (''passClk'') - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше&amp;quot; regexp=&amp;quot;нет=0, да=1, обработать и пропустить=2&lt;br /&gt;
*группа (''gr'') - Группа, в которую входит текущий объект&lt;br /&gt;
*eitems (''eitems'') - Объект типа eitems&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
[[Файл:Isomover9.png|right|300px]]&lt;br /&gt;
[[Файл:+.png]] '''Взаимодействие с другими объектами''':&lt;br /&gt;
*тип (''mtype'') - тип объекта с которым по настроенному ниже сценарию будет происходить взаимодействие, -1 для любого типа&lt;br /&gt;
*min жизнь (''minlife'') - минимальное значение жизни для начала взаимодействия, -1 не проверять&lt;br /&gt;
*max жизнь (''maxlife'') - максимальное значение жизни для начала взаимодействия, -1 не проверять&lt;br /&gt;
*тип актив (''mtype_a'') - тип мувера, который активирует взаимодействие, если данный в процессе подготовки&lt;br /&gt;
*анимация (''res_a'') - анимация взаимодействия, например боя, разгрузки, разговора. Перетаскивается мышкой из редактора ресурсов&lt;br /&gt;
*старт тип (''stype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*старт таймер (''stimer'') - время, за которое нужно активировать взаимодействие тапом&lt;br /&gt;
*старт изм.жизни (''slife'') - скорость изменения жизни до активации взаимодействия тапом&lt;br /&gt;
*старт изм.жизни другого (''slife_o'') - скорость изменения жизни враг до активации взаимодействия тапом&lt;br /&gt;
*предмет (''item'') - предмет, необходимый для запуска активности. Актуально, когда имеется объект economics&lt;br /&gt;
*иконка (''ico'') - иконка активности&lt;br /&gt;
*смещение иконки (''ico_shift'') - смещение иконки активности по вертикали&lt;br /&gt;
*актив тип (''atype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*актив таймер (''atime'') - время, которое длится взаимодействие&lt;br /&gt;
*актив изменение жизни (''alife'') - скорость изменения жизни текущего объекта (ед/сек) в состоянии active&lt;br /&gt;
*актив изменение жизни другого (''alife_o'') - скорость изменения жизни другого объекта (ед/сек) в состоянии active&lt;br /&gt;
&lt;br /&gt;
[[Файл:Isomover3.png|right|300px]]&lt;br /&gt;
*объект инит (''obj'') - объект, состояние которого нужно изменить при переходе изомувера в acting_wait&lt;br /&gt;
*состояние инит (''st'') - новое состояние другого объекта&lt;br /&gt;
*объект старт (''obj_s'') - объект, состояние которого нужно изменить при переходе изомувера в acting&lt;br /&gt;
*состояние старт (''st_s'') - новое состояние другого объекта&lt;br /&gt;
*объект фейл (''obj_f'') - объект, состояние которого нужно изменить при переходе изомувера в состояние fail (проигрыш)&lt;br /&gt;
*состояние фейл (''st_f'') - новое состояние другого объекта&lt;br /&gt;
*объект успех (''obj_w'') - объект, состояние которого нужно изменить при переходе изомувера в состояние win (в случае победы)&lt;br /&gt;
*состояние успех (''st_w'') - новое состояние другого объекта&lt;br /&gt;
*дельта жизнь (''deltalife'') при успехе взаимодействия изменить значение жизни на эту величину&lt;br /&gt;
*переводить другой в фейл (''o_fail'') - 1- переводить цель действия в fail, 0- в idle&lt;br /&gt;
*переводить другой в мув (''o_move'') - при неудачном действии 1- переводить цель действия в move, 0- в idle&lt;br /&gt;
*можно ускорить (''canspeed'') - 1- действие можно ускорить. От этого параметра зависит, какое событие будет вызываться по клику на объект в состоянии acting&lt;br /&gt;
*звук ожидания (''snd_wait'') - звук, который будет воспроизводиться в состоянии acting_wait &lt;br /&gt;
*звук действия (''snd_act'') - звук, который будет воспроизводиться в состоянии acting&lt;br /&gt;
Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр &amp;quot;взаимодействие с другими объектами&amp;quot; и настроить его. Объекты инит, старт, фейл и успех вызываются при переходе текущего объекта в соответствующие состояния. Например, это может быть диалоговое окно, предлагающее продолжить взаимодействие, запуск дополнительных индикаторов, фейерверк в случае победы.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Клик при простое''' (''nst_idle''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии idel&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_move''), он же '''клик при движении''':&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии move&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Клик при паузе''' (''nst_pause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии pause (заморозка)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_aw_n'') он же '''клик при acting_wait, если другие действия не возможны'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting_wait&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_1'') он же '''клик при acting, ускорение возможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер  был нажат в состоянии acting и ускорение возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_2'') он же '''клик при acting, ускорение НЕвозможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting и ускорение не возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_beact'') он же '''клик при beeng_acting'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии beeng_acting, когда воздействие совершалось над ним другим объектом&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Конец движения''' (''nst_finish''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер закончил движение (достиг точки finish)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Отправили в текущую ноду''' (''nst_place''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер направлен в ту же ноду, в которой и находится&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в fail''' (''nst_gopause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер перешел в fail&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в pause''' (''nst_heal''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Перешел в pause&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Восстановил здоровье''' (''nst_low_time''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Восстановил здоровье&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Время истекло: изменить состояние объекта''' (''nst_low_time'') он же '''время на исходе: изменить состояние объекта''':&lt;br /&gt;
*значение, при котором срабатывает обработчик&lt;br /&gt;
*объект - объект, состояние которого меняется по истечению времени&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
[[Файл:isomover_box.png|right|350px]]&lt;br /&gt;
*'''idle''' - дефолтное состояние, в которое isomover переходит после всех манипуляций. Недвижимым объектам следует передавать idle, чтобы они появились (нарисовались) на карте. Для движущихся объектов его практически не используют, объект сам рисуется с началом движения.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting_wait''' - первое состояние взаимодействия (запускается первый таймер, анимация взаимодействия и ожидается старт).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting''' - второе состояние взаимодействия (вызывается после применения предмета или клика, запускает второй таймер).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''being_acted''' - в этом состоянии пребывает тот объект, над которым идет действие. Объект в этом состоянии невидим.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move''' - состояние движения от старта к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move_to_smooth''' - состояние движения от текущей ноды (или следующей, если объект идет) к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''appear''' - показать по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''disappear''' - скрыть по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''prepare_acting''' - вызвать взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''start_acting''' - продолжить взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&lt;br /&gt;
*'''pause''' - состояние &amp;quot;заморозки&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Особенности работы==&lt;br /&gt;
[[Файл:Isomover6.png|right|300px]][[Файл:Isomover8.png|left|200px]]&lt;br /&gt;
Движение объекта типа ''isomover'' задается с помощью отдельной машины состояний через которую происходит управление состояниями move, acting и остальными. Рассмотрим на конкретном примере. У нас есть объект '''woman''' типа ''isomover''. Необходимо, чтобы наш изомувер начал движение с точки b1 и дальше начал двигаться бесконечно по кольцу b2-b3-b4-b5. Движение задается машиной состояний ''woman_machine''.&amp;lt;br&amp;gt;&lt;br /&gt;
Для управления циклическим ходом назначим дополнительный параметр ''ww''. Название параметра должно быть уникально и не совпадать с параметрами игровых объектов.&amp;lt;br&amp;gt;&lt;br /&gt;
Для того, чтобы изомувер двигался каждый раз к новой точке, необходимо повторно инициализировать его точку финиша. Однако, если мы продолжим указывать ему состояние move для движения, то каждый раз он будет начинать движение с точки старта. Чтобы это исправить воспользуемся состоянием move_to_smooth, которое заставляет двигаться изомувер от текущей ноде к финишу, будто старт и финиш мы все время смещаем на шаг.&lt;br /&gt;
&amp;lt;br&amp;gt;Основная логика будет находиться в состоянии ''circle_moving'' нашей машины. Надо сделать так, чтобы изомувер переходил в это состояние после движения по каждому из ребер. Для этого зайдем в свойства изомувера, нажмем правой кнопкой мыши и добавим параметр '''конец движения'''. У него есть поля ''объект'' и ''свойство''. Объект - машина состояний ''woman_machine'', состояние ''circle_moving'' этой машины. Таким образом, в конце каждого акта движения изомувер будет запускать состояние, в котором мы будем менять его точку финиша и запускать его движение.&lt;br /&gt;
&amp;lt;br&amp;gt;Не забываем, что все операции с переменными должны отделяться скобками, как и сама переменная&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример===&lt;br /&gt;
Два изомувера (police_car и werewolf) совершают циклическое движение по определенному маршруту, заданному с помощью машин состояний (car_machine и werewolf_machine соответственно). Когда объекты оказываются в радиусе (достаточном для активации добавляемого параметра '''&amp;quot;Взаимодействие с другими объектами&amp;quot;'''), объект '''police_car''' начинает взаимодействовать с объектом '''werewolf'''. По истечению времени воздействия объект '''police_car''' переходит в состояние '''fail'''. Если кликнуть на процесс взаимодействия объектов, то объект '''police_car''' перейдет в состояние '''win'''.&lt;br /&gt;
*'''Пример:&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\Isomap.rar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9075</id>
		<title>Isomover</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Isomover&amp;diff=9075"/>
		<updated>2017-09-22T14:21:12Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Пример */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Isomover''' - [[Object|объект]] используется для осуществления движения и взаимодействия в изометрической карте. &lt;br /&gt;
&lt;br /&gt;
  Isomover обязательно должен быть подобъектом [[isomap]]. &lt;br /&gt;
&lt;br /&gt;
В проекте с картой ([[isomap]]) и движущимися по ней объектами (isomover) часто используют [[economics]] и [[eitems]] потому, что для завершения процессов часто требуется применить предмет или ресурс.&lt;br /&gt;
&lt;br /&gt;
Начало движения множества изомуверов сильно нагружает систему, поэтому следует позаботиться, чтобы это происходило не в один момент времени. По возможности добавляйте небольшую и различную паузу каждому изомуверу перед стартом.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
*'''Положение''' (''x'',''y'') - рекомендуется выносить isomover-объекты за пределы карты. Иначе, если объект должен появляться не сразу, то он будет просто стоять без движения&lt;br /&gt;
*'''Память''' - всегда должно быть значение 1, обязательное условие корректной работы. Это позволяет объекту двигаться последовательно, не инициализируясь после каждого движения в исходной точке&lt;br /&gt;
*'''тип ребра min''' (''edge_t_min'') - перемещаться по ребрам не ниже заданного, -1 не проверять&lt;br /&gt;
*'''тип ребра max''' (''edge_t_max'') - перемещаться по ребрам не выше заданного, -1 не проверять. Типы ребер задаются в isomap&lt;br /&gt;
*'''Старт''' (''start'') - точка старта, выбирается из списка точек Isomap&lt;br /&gt;
*'''Финиш''' (''finish'') - точка финиша, выбирается из списка точек Isomap&lt;br /&gt;
*'''Скорость (макс)''' (''vel_max'') - максимальная скорость, с которой передвигается объект Isomover&lt;br /&gt;
*'''Скорость''' (''vel'') - не использовать, вычисляется по формуле автоматически, позже будет скрыто. V = Vmax*(k+(1-k)*(P/Pmax))&lt;br /&gt;
*'''Жизнь (макс)''' (''pow_max'') - максимальная жизнь&lt;br /&gt;
*'''Жизнь''' (''pow'') - текущая жизнь, высчитывается по формуле автоматически&lt;br /&gt;
*'''Сохранять жизнь в опции''' (''powsave'') - если да, то объекты сцены сохранят уровень жизни при выходе со сцены и возвращении на нее&lt;br /&gt;
*'''Коэффициент скорости''' (''speed_k'') - коэффициент k в формуле расчета скорости. Чтобы скорость не зависела от значения жизни - указываем speed_k = 1&lt;br /&gt;
*'''Менять угол''' (''fixangle'') - изменение угла для предания плавности смены графики при дугообразном перемещении объекта. С появлением 3D-объектов больше не используется&lt;br /&gt;
*'''Тип''' (''mtype'') - объекты можно разделять на типы (люди, монстры, звери и т.д.). Взаимодействие происходит между объектами разных типов, настраивается в добавляемых параметрах&lt;br /&gt;
*'''Радиус''' (''mradius'') - значения радиуса. Попадание изомувера другого типа в этот радиус позволит начать взаимодействие.&lt;br /&gt;
*'''Цель при действии''' (''mtarget'') - мувер может быть целью взаимодействия пока сам действует&lt;br /&gt;
*'''Запретить действие''' (''disact'') - мувер не сможет перейти из acting_wait в acting&lt;br /&gt;
*'''Время появления''' (''appear_time'') - время в миллисекундах появления и исчезания изомувера (длительность перехода по alpha)&lt;br /&gt;
*'''Время провала''' (''fail_time'') - длительность анимации смерти объекта, по его окончанию произойдет переход в состояние ''disappear''&lt;br /&gt;
*'''Время паузы''' (''pause_time'') - длительность &amp;quot;заморозки&amp;quot; объекта&lt;br /&gt;
*'''Предмет паузы''' (''pause_item'') - предмет для включения паузы&lt;br /&gt;
*'''fail при 0 жизни''' (''zerofail'') - 1- при нулевом уровне жизни изомувер перейдет в fail, 0 - останется жив&lt;br /&gt;
*'''Не пересчитывать маршрут''' (''softrecalc'') - 1- при отключении ребер графа не произойдет пересчета маршрута, 0 - маршрут будет пересчитан&lt;br /&gt;
*'''Реагировать на''' (''tapreact'') - 1- на тап, 0- на клик&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дополнительные параметры==&lt;br /&gt;
[[Файл:Isomover1.png|right|300px]]&lt;br /&gt;
*'''Графический ресурс:'''&lt;br /&gt;
**вверх (''res0'') - графический ресурс движения вверх&lt;br /&gt;
**вверх/вправо (''res1'') - графический ресурс движения вверх/вправо&lt;br /&gt;
**вправо (''res2'') - графический ресурс движения вправо &lt;br /&gt;
**вниз/вправо (''res3'') - графический ресурс движения вниз/вправо&lt;br /&gt;
**вниз (''res4'') - графический ресурс движения вниз &lt;br /&gt;
**вниз/влево (''res5'') - графический ресурс движения вниз/влево&lt;br /&gt;
**влево (''res6'') - графический ресурс движения влево &lt;br /&gt;
**вверх/влево (''res7'') - графический ресурс движения вверх/влево. Достаточно указать первые пять ресурсов, а остальные редактор отобразит автоматически симметрично&lt;br /&gt;
**деятельность (''resa'') - графический ресурс для состояния acting&lt;br /&gt;
**иконка персонажа (''char_ico'') - иконка, которая будет находится сверху над персонажем. Изменение масштаба во время игры не влияет на масштаб иконки. Рекомендуется создавать ее с пивотом у нижней границы, тогда при масштабировании не будет образовываться зазор между иконкой и графикой объекта&lt;br /&gt;
**смещение иконки персонажа (''char_ico_shift'') - смещение иконки по вертикали&lt;br /&gt;
**рисовать при действии (''resad'') - 1- мувер рисуется при состоянии acting, 0- не рисуется&lt;br /&gt;
**провал (''resf'') - графический ресурс состояния fail. Может быть картинкой или анимацией&lt;br /&gt;
**пауза (''resp'') - графический ресурс состояния pause&lt;br /&gt;
**восстановление жизни (''resheal'') - графический ресурс восстановления жизни&lt;br /&gt;
*'''3D ресурс'''&lt;br /&gt;
**модель (''mdl'') - трехмерный ресурс для отображения объекта&lt;br /&gt;
**scale x (''mdlSx'') - масштаб по оси ''x''&lt;br /&gt;
**scale y (''mdlSy'') - масштаб по оси ''y''&lt;br /&gt;
**scale z (''mdlSz'') - масштаб по оси ''z''&lt;br /&gt;
*'''Звуки'''&lt;br /&gt;
**всплывание подложки (''snd_panel'') - звук показывающейся подложки&lt;br /&gt;
**исчезание подложки (''snd_panel_hide'') - звук прячущейся подложки&lt;br /&gt;
**переход в acting (''snd_to_acting'') - звук перехода в состояние acting&lt;br /&gt;
**применение предмета (''snd_item_used'') - звук применение предмета при взаимодействии&lt;br /&gt;
**предмет при паузе (''snd_item_pause'') - звук применение предмета при паузе&lt;br /&gt;
**конец паузы (''snd_pause_end'') - звук при окончании паузы&lt;br /&gt;
**фейл взаимодействия (''snd_fail'') - звук при переходе в fail&lt;br /&gt;
**успех взаимодействия (''snd_success'') - звук при переходе в win&lt;br /&gt;
**клик (''snd_click'') - звук при клике&lt;br /&gt;
*'''Коэффициент скорости'''&lt;br /&gt;
**вертикальное (''speed_0'') - на этот коэффициент умножается скорость при вертикальном движении&lt;br /&gt;
**диагональное (''speed_1'') - на этот коэффициент умножается скорость при диагональном движении&lt;br /&gt;
**горизонтальное (''speed_2'') - на этот коэффициент умножается скорость при горизонтальном движении&lt;br /&gt;
Обычно горизонтальный коэффициент равен 1.00, чуть меньше диагональный и еще меньше вертикальный. Это необходимо для создания реалистичности движения относительно перспективы. То есть объекты, двигаясь вверх, как бы отдаляются от нас в глубь, поэтому по экрану они движутся медленней&lt;br /&gt;
[[Файл:Isomover2.png|right]]&lt;br /&gt;
*'''Таймер''':&lt;br /&gt;
**подложка (''digBg'') - фон для цифр таймера&lt;br /&gt;
**цифры (''digNorm'') - набор из 10-и цифр в виде ресурса анимации (клипа)&lt;br /&gt;
**двоеточие (''colNorm'') - графический ресурс двоеточия&lt;br /&gt;
**dx (''dx'') - смещение таймера по оси ''x'' относительно пивота изомувера&lt;br /&gt;
**dy (''dy'') - смещение таймера по оси ''y'' относительно пивота изомувера&lt;br /&gt;
**dx между цифрами (''digShift'') - расстояние между цифрами таймера&lt;br /&gt;
**dx от (''colShift'') - отступы числовых разрядов влево и вправо от двоеточия&lt;br /&gt;
**жизнь (''objlife'') - здесь выбирается объект типа прогресс_бар для отображения шкалы уровня жизни. Progress_bar создается отдельным объектом&lt;br /&gt;
Таймер позволяет отобразить время до окончания взаимодействия объектов. Например &amp;quot;корабль&amp;quot; прибыл в &amp;quot;порт&amp;quot; и начал отгружать груз. С помощью числового таймера или progress_bar можно увидеть через сколько закончится отгрузка. На рисунке справа показано взаимодействие двух объектов с изображение шкалы жизни одного из объектов и времени до конца взаимодействия.&lt;br /&gt;
*'''Преследование'''&lt;br /&gt;
**тип (''chasetype'') - тип объекта, который можно преследовать&lt;br /&gt;
**радиус (''chaseradius'') - если объект указанного типа окажется в этом радиусе, то начнется преследование (например полицейская погоня)&lt;br /&gt;
*'''Дорожное движение'''&lt;br /&gt;
**радиус (''stopradius'') - объекты, которые двигались по одному ребру, останавливаются на расстоянии этого радиуса (необходимо для препятствия наслоений объектов на дороге, железнодорожных путях)&lt;br /&gt;
*'''восстановление жизни''':&lt;br /&gt;
**критический уровень (''pow_min'') - Критический уровень жизни&lt;br /&gt;
**предмет (''pow_item'') - Предмет восстановления &lt;br /&gt;
**время (''pow_time'') - Время восстановления жизни&lt;br /&gt;
&lt;br /&gt;
*курсор (''curs'') - Графический ресурс курсора текущего и всех дочерних объектов&lt;br /&gt;
*прокликиваемая (''passClk'') - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше&amp;quot; regexp=&amp;quot;нет=0, да=1, обработать и пропустить=2&lt;br /&gt;
*группа (''gr'') - Группа, в которую входит текущий объект&lt;br /&gt;
*eitems (''eitems'') - Объект типа eitems&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Добавляемые параметры==&lt;br /&gt;
[[Файл:Isomover9.png|right|300px]]&lt;br /&gt;
[[Файл:+.png]] '''Взаимодействие с другими объектами''':&lt;br /&gt;
*тип (''mtype'') - тип объекта с которым по настроенному ниже сценарию будет происходить взаимодействие, -1 для любого типа&lt;br /&gt;
*min жизнь (''minlife'') - минимальное значение жизни для начала взаимодействия, -1 не проверять&lt;br /&gt;
*max жизнь (''maxlife'') - максимальное значение жизни для начала взаимодействия, -1 не проверять&lt;br /&gt;
*тип актив (''mtype_a'') - тип мувера, который активирует взаимодействие, если данный в процессе подготовки&lt;br /&gt;
*анимация (''res_a'') - анимация взаимодействия, например боя, разгрузки, разговора. Перетаскивается мышкой из редактора ресурсов&lt;br /&gt;
*старт тип (''stype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*старт таймер (''stimer'') - время, за которое нужно активировать взаимодействие тапом&lt;br /&gt;
*старт изм.жизни (''slife'') - скорость изменения жизни до активации взаимодействия тапом&lt;br /&gt;
*старт изм.жизни другого (''slife_o'') - скорость изменения жизни враг до активации взаимодействия тапом&lt;br /&gt;
*предмет (''item'') - предмет, необходимый для запуска активности. Актуально, когда имеется объект economics&lt;br /&gt;
*иконка (''ico'') - иконка активности&lt;br /&gt;
*смещение иконки (''ico_shift'') - смещение иконки активности по вертикали&lt;br /&gt;
*актив тип (''atype'') - тип старта взаимодействия&lt;br /&gt;
**0 - бесконечное ожидание тапа. Переход в состояние acting не начнется, пока не произойдет тап по объекту&lt;br /&gt;
**1 - автоматический переход в состояние acting&lt;br /&gt;
**2 - время, через которое произойдет переход из acting_wait в acting после начала взаимодействия объектов&lt;br /&gt;
**3 - переход по значению жизни&lt;br /&gt;
*актив таймер (''atime'') - время, которое длится взаимодействие&lt;br /&gt;
*актив изменение жизни (''alife'') - скорость изменения жизни текущего объекта (ед/сек) в состоянии active&lt;br /&gt;
*актив изменение жизни другого (''alife_o'') - скорость изменения жизни другого объекта (ед/сек) в состоянии active&lt;br /&gt;
&lt;br /&gt;
[[Файл:Isomover3.png|right|300px]]&lt;br /&gt;
*объект инит (''obj'') - объект, состояние которого нужно изменить при переходе изомувера в acting_wait&lt;br /&gt;
*состояние инит (''st'') - новое состояние другого объекта&lt;br /&gt;
*объект старт (''obj_s'') - объект, состояние которого нужно изменить при переходе изомувера в acting&lt;br /&gt;
*состояние старт (''st_s'') - новое состояние другого объекта&lt;br /&gt;
*объект фейл (''obj_f'') - объект, состояние которого нужно изменить при переходе изомувера в состояние fail (проигрыш)&lt;br /&gt;
*состояние фейл (''st_f'') - новое состояние другого объекта&lt;br /&gt;
*объект успех (''obj_w'') - объект, состояние которого нужно изменить при переходе изомувера в состояние win (в случае победы)&lt;br /&gt;
*состояние успех (''st_w'') - новое состояние другого объекта&lt;br /&gt;
*дельта жизнь (''deltalife'') при успехе взаимодействия изменить значение жизни на эту величину&lt;br /&gt;
*переводить другой в фейл (''o_fail'') - 1- переводить цель действия в fail, 0- в idle&lt;br /&gt;
*переводить другой в мув (''o_move'') - при неудачном действии 1- переводить цель действия в move, 0- в idle&lt;br /&gt;
*можно ускорить (''canspeed'') - 1- действие можно ускорить. От этого параметра зависит, какое событие будет вызываться по клику на объект в состоянии acting&lt;br /&gt;
*звук ожидания (''snd_wait'') - звук, который будет воспроизводиться в состоянии acting_wait &lt;br /&gt;
*звук действия (''snd_act'') - звук, который будет воспроизводиться в состоянии acting&lt;br /&gt;
Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр &amp;quot;взаимодействие с другими объектами&amp;quot; и настроить его. Объекты инит, старт, фейл и успех вызываются при переходе текущего объекта в соответствующие состояния. Например, это может быть диалоговое окно, предлагающее продолжить взаимодействие, запуск дополнительных индикаторов, фейерверк в случае победы.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Клик при простое''' (''nst_idle''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии idel&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_move''), он же '''клик при движении''':&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии move&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Клик при паузе''' (''nst_pause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии pause (заморозка)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_aw_n'') он же '''клик при acting_wait, если другие действия не возможны'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting_wait&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_1'') он же '''клик при acting, ускорение возможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер  был нажат в состоянии acting и ускорение возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_a_2'') он же '''клик при acting, ускорение НЕвозможно'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии acting и ускорение не возможно&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Изменить состояние объекта''' (''nst_beact'') он же '''клик при beeng_acting'''&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер был нажат в состоянии beeng_acting, когда воздействие совершалось над ним другим объектом&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Конец движения''' (''nst_finish''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер закончил движение (достиг точки finish)&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Отправили в текущую ноду''' (''nst_place''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер направлен в ту же ноду, в которой и находится&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в fail''' (''nst_gopause''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер перешел в fail&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Перешел в pause''' (''nst_heal''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Перешел в pause&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Восстановил здоровье''' (''nst_low_time''):&lt;br /&gt;
*объект - объект, состояние которого меняется, если изомувер Восстановил здоровье&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
[[Файл:+.png]] '''Время истекло: изменить состояние объекта''' (''nst_low_time'') он же '''время на исходе: изменить состояние объекта''':&lt;br /&gt;
*значение, при котором срабатывает обработчик&lt;br /&gt;
*объект - объект, состояние которого меняется по истечению времени&lt;br /&gt;
*состояние - новое состояние объекта&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
[[Файл:isomover_box.png|right|350px]]&lt;br /&gt;
*'''idle''' - дефолтное состояние, в которое isomover переходит после всех манипуляций. Недвижимым объектам следует передавать idle, чтобы они появились (нарисовались) на карте. Для движущихся объектов его практически не используют, объект сам рисуется с началом движения.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting_wait''' - первое состояние взаимодействия (запускается первый таймер, анимация взаимодействия и ожидается старт).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''acting''' - второе состояние взаимодействия (вызывается после применения предмета или клика, запускает второй таймер).&amp;lt;br&amp;gt;&lt;br /&gt;
*'''being_acted''' - в этом состоянии пребывает тот объект, над которым идет действие. Объект в этом состоянии невидим.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move''' - состояние движения от старта к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''move_to_smooth''' - состояние движения от текущей ноды (или следующей, если объект идет) к финишу.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''appear''' - показать по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''disappear''' - скрыть по альфе за время появления.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''prepare_acting''' - вызвать взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''start_acting''' - продолжить взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.&lt;br /&gt;
*'''pause''' - состояние &amp;quot;заморозки&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Особенности работы==&lt;br /&gt;
[[Файл:Isomover6.png|right|300px]][[Файл:Isomover8.png|left|200px]]&lt;br /&gt;
Движение объекта типа ''isomover'' задается с помощью отдельной машины состояний через которую происходит управление состояниями move, acting и остальными. Рассмотрим на конкретном примере. У нас есть объект '''woman''' типа ''isomover''. Необходимо, чтобы наш изомувер начал движение с точки b1 и дальше начал двигаться бесконечно по кольцу b2-b3-b4-b5. Движение задается машиной состояний ''woman_machine''.&amp;lt;br&amp;gt;&lt;br /&gt;
Для управления циклическим ходом назначим дополнительный параметр ''ww''. Название параметра должно быть уникально и не совпадать с параметрами игровых объектов.&amp;lt;br&amp;gt;&lt;br /&gt;
Для того, чтобы изомувер двигался каждый раз к новой точке, необходимо повторно инициализировать его точку финиша. Однако, если мы продолжим указывать ему состояние move для движения, то каждый раз он будет начинать движение с точки старта. Чтобы это исправить воспользуемся состоянием move_to_smooth, которое заставляет двигаться изомувер от текущей ноде к финишу, будто старт и финиш мы все время смещаем на шаг.&lt;br /&gt;
&amp;lt;br&amp;gt;Основная логика будет находиться в состоянии ''circle_moving'' нашей машины. Надо сделать так, чтобы изомувер переходил в это состояние после движения по каждому из ребер. Для этого зайдем в свойства изомувера, нажмем правой кнопкой мыши и добавим параметр '''конец движения'''. У него есть поля ''объект'' и ''свойство''. Объект - машина состояний ''woman_machine'', состояние ''circle_moving'' этой машины. Таким образом, в конце каждого акта движения изомувер будет запускать состояние, в котором мы будем менять его точку финиша и запускать его движение.&lt;br /&gt;
&amp;lt;br&amp;gt;Не забываем, что все операции с переменными должны отделяться скобками, как и сама переменная&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример===&lt;br /&gt;
Два изомувера (police_car и werewolf) совершают циклическое движение по определенному маршруту, заданному с помощью машин состояний (car_machine и werewolf_machine соответственно). Когда объекты оказываются в радиусе (достаточном для активации добавляемого параметра '''&amp;quot;Взаимодействие с другими объектами&amp;quot;'''), объект '''police_car''' начинает взаимодействовать с объектом '''werewolf'''. По истечению времени воздействия объект '''police_car''' переходит в состояние '''lose'''. Если кликнуть на процесс взаимодействия объектов, то объект '''police_car''' перейдет в состояние '''win'''. Эти состояния указаны в машине состояний '''&amp;quot;win_lose&amp;quot;'''.&lt;br /&gt;
*'''Пример:&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\Isomap.rar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9074</id>
		<title>Введение в AppSalute Сreator</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9074"/>
		<updated>2017-09-22T13:37:42Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Модификаторы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
----&lt;br /&gt;
'''Цель:''' &lt;br /&gt;
познакомиться со средой разработки игр AppSalute Сreator.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* проинсталлировать AppSalute Сreator;&lt;br /&gt;
* открыть готовый проект в редакторе сцен;&lt;br /&gt;
* освоить взаимодействие редактора сцен и редактора ресурсов;&lt;br /&gt;
* изучить основные методы редактирования сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Для создания игр в AppSalute Сreator используются четыре взаимодействующих между собой приложения:&lt;br /&gt;
* [[Файл:Ico_main.png|40px]] '''[[Интерфейс ScenceEditor|Scene Editor]]''' - редактор игровых сцен (экранов), в котором происходит настройка свойств объектов и игровой логики. Это основной инструмент при разработке игры.&lt;br /&gt;
* [[Файл:Ico_base.png|40px]] '''[[Редактор ресурсов|Resources Editor]]''' - хранилище медиа-ресурсов (картинки, звуки, видео, анимация), использующихся в игре. Эти ресурсы при помощи мышки перетаскиваются на сцену в Scene Editor.&lt;br /&gt;
* [[Файл:Ico_text.png|40px]] '''[[Интерфейс TextEditor|Text Editor]]''' - хранилище всех текстовых ресурсов (надписей) на различных языках. Аналогично графике и звукам при помощи мышки они перетаскиваются в соответствующие свойства объектов, находящихся в Scene Editor. См. также [[Редактор текстовых ресурсов|Урок 6]]&lt;br /&gt;
* '''Viewer''' - проигрыватель созданной игры. Обычно запускается непосредственно из Scene Editor. Вы увидите, возможно сыграете, игру в том же виде, как и на любом мобильном устройстве.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Layout.png|right]]&lt;br /&gt;
Игра состоит из набора '''экранов'''. На каждом экране может находиться одна или несколько '''сцен'''.&lt;br /&gt;
Например, пусть на экране находится игровое поле и панель с интерфейсными кнопками. Эти две области можно оформить при помощи различных сцен. Первая сцена содержит игровые '''объекты''' редактора, например миниигры такие как puzzle и фоновую картинку. Вторая сцена содержит базовые элементы управления (кнопки, чекбоксы), универсальные машины состояний (программирующие логику) и т.д. &lt;br /&gt;
&lt;br /&gt;
Так как игра обычно запускается на различных устройствах (телефон, планшетник, десктоп), важным понятием является '''лейаут''' (layout). Условно - это различные мониторы, имеющие то или иное разрешение в пикселях и разное соотношение высоты и ширины. Игра может проектироваться только для одного лейаута, однако чаще поддерживается сразу несколько лейаутов: &lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson_1_layouts.png|400px]]&lt;br /&gt;
&lt;br /&gt;
В качестве примера справа на рисунке представлена структура некоторого проекта в лейауте с размерами экрана устройства 960x640 пикселей. На этом лейауте находятся экраны, из которых только один экран (pack1) развернут. Внутри него &lt;br /&gt;
находятся 2 сцены (stg_list1 и stg_main1). Одна сцена (stg_list1) раскрыта и содержит три игровых объекта. Последний из них (tbk_pack1) является сложным объектом, содержащим несколько других.&lt;br /&gt;
Таким образом, игровой проект можно представить как '''дерево''', на различных ветках которого находятся игровые объекты.&lt;br /&gt;
&lt;br /&gt;
Для начала работы с редактором его необходимо [[Установка и настройка|установить]], загрузив и запустив [[Downloads|инсталлятор]].&lt;br /&gt;
По умолчанию все необходимые программы будут размещены '''C:\Program Files\AppSalute Creator''' и материалы для уроков находятся в папке '''Мои Документы\Absolutist\Projects\lessons'''. При желании её можно в дальнейшем перенести в любое удобное место.&lt;br /&gt;
После инсталляции запускаем программу Scene Editor, найдя на рабочем столе или в списке приложений иконку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:icon_se.png]].&lt;br /&gt;
&lt;br /&gt;
== Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
=== Открытие проекта ===&lt;br /&gt;
	&lt;br /&gt;
Шаг первый. &lt;br /&gt;
Вверху окна редактора расположено общее меню и кнопки быстрого запуска:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Меню.png]]&lt;br /&gt;
&lt;br /&gt;
Если нажать пункт меню &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; (Проект), то выпадет список команд, с помощью которых можно [[Подготовка к работе &amp;quot;Создание проекта&amp;quot;|создать новый]] или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
&lt;br /&gt;
Откроем проект, на основании которого будут проходиться эти уроки. Для этого нажмём в меню пункты &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Open&amp;lt;/tt&amp;gt; или сразу кнопку быстрого доступа [[Файл:Открыть проект.png]]. Заходим в папку '''Мои документы/Absolutist/Projects/Lessons'''.&lt;br /&gt;
Внутри неё кликнем на файл '''lessons.seproj''' &lt;br /&gt;
&lt;br /&gt;
[[Файл:Seproj.JPG|400px]].&lt;br /&gt;
&lt;br /&gt;
В результате откроется проект, визуальная часть которого окажется в основной (центральной) части редактора. Чтобы увидеть что-то кроме белого экрана, необходимо на панели Layout, которая находится в правой верхней части экрана, кликнуть мышкой на строчку с надписью '''lesson_1''' (это первый игровой экран приложения). В результате мы должны увидеть:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Экран.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства проекта ===&lt;br /&gt;
&lt;br /&gt;
В правой части окна редактора расположены две панели '''Layout''' (лейаут) и '''Properties''' (свойства).&lt;br /&gt;
На панели Layout показано иерархическое дерево проекта, который пока состоит из одного игрового экрана lesson_1. Если кликнуть на стрелочку (или плюсик, или треугольник, в зависимости от Вашей ОС) слева от надписи lesson_1, то экран раскроется и мы увидим [[Проектирование_экранов_игры#Принципы_формирования_сцен_и_их_наполнения|сцену]], которая находится на [[Проектирование_экранов_игры|экране]]. Она называется lessons_1. Продолжая кликать на стрелочки, раскроем всю структуру этого проекта: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Лэйаут.png]]&lt;br /&gt;
&lt;br /&gt;
Наиболее простым объектом, находящимся в дереве проекта, является статическая картинка фона, которая называется '''bg'''. Если на неё кликнуть, то ниже в панели '''Properties''' можно увидеть параметры настройки этого объекта (его свойства):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Свойства.png]]&lt;br /&gt;
&lt;br /&gt;
Стоит &amp;quot;пораскрывать&amp;quot; ветки настроек объекта bg, нажимая на стрелочки (или плюсики, или треугольники) слева от имен полей. Если навести мышкой на имя поля, то появится краткая подсказка, поясняющий смысл свойства.&lt;br /&gt;
&lt;br /&gt;
Панели Layout и Properties могут перетаскиваться мышкой в произвольное место редактора,&lt;br /&gt;
располагаться одна под другой или объединяться в одну панель с двумя закладками снизу.&lt;br /&gt;
Если панели находятся одна под другой, можно мышкой изменить их относительную высоту. Для этого мышь располагаем между ними, пока она не изменит своей формы со стрелочки на сплиттер (две горизонтальные полоски). Затем, нажав на мышь, таскаем вверх-вниз границу между панелями.&lt;br /&gt;
&lt;br /&gt;
=== Проигрывание проекта ===&lt;br /&gt;
&lt;br /&gt;
В процессе разработки игрового проекта, игру в любой момент можно запустить в отдельном окне вьювера ('''Viewer''') для проверки. Для этого в дереве проекта (панель Layout) необходимо выбрать интересующий нас экран (с которого произойдёт запуск) и нажать кнопку [[Файл:Play111.png]] (или пункт меню &amp;lt;tt&amp;gt;Viewer&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Start Viewer&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В нашем случае мы увидим летающее над слонёнком солнышко. Оба объекта (и слонёнок, и солнышко) являются активными. Кликните сначала на голову слонёнка - она должна повернуться. Клик на тело слонёнка заставит его подпрыгнуть. При должной сноровке можно кликнуть также на летающее солнышко, что приведёт к кратковременному изменению его формы.&lt;br /&gt;
&lt;br /&gt;
Стоит запомнить три важных правила при работе с вьювером:&lt;br /&gt;
* Если приложение редактировалось, то перед запуском вьювера проект необходимо &amp;lt;u&amp;gt;сначала&amp;lt;/u&amp;gt; сохранить (меню: &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Save Project&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Всегда необходимо перед запуском вьювера выбирать экран, который начнёт проигрываться (сейчас такой экран пока один).&lt;br /&gt;
* После просмотра во вьювере игры, его необходимо закрыть, нажав (как обычно в Windows) крестик в правом верхнем углу окна.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки быстрого запуска ===&lt;br /&gt;
&lt;br /&gt;
Приведем для справки описание кнопок быстрого доступа к некоторым командам редактора сцен (более подробная информация будет предоставлена в последующих уроках):&lt;br /&gt;
&lt;br /&gt;
*[[Файл:00001.png]] — создать новый проект; &lt;br /&gt;
*[[Файл:Открыть проект.png]] — открыть уже созданный проект;&lt;br /&gt;
*[[Файл:00002.png]] — сохранить изменения в проекте; &lt;br /&gt;
*[[Файл:00003.png]] — нормальный вид; &lt;br /&gt;
*[[Файл:Play111.png]] —  запустить Viewer;&lt;br /&gt;
*[[Файл:000004.png]] — запустить Viewer с изменением времени; &lt;br /&gt;
*[[Файл:000005.png]] — очистить данные;&lt;br /&gt;
*[[Файл:00006.png]] — вызов редактора ресурсов;&lt;br /&gt;
*[[Файл:00007.png]] — вызов текстового редактора;&lt;br /&gt;
*[[Файл:00008.png]] — анализ использованных ресурсов;  &lt;br /&gt;
*[[Файл:00009.png]] — поиск объекта по имени или id;&lt;br /&gt;
*[[Файл:0000010.png]] — общие свойства объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Редактор ресурсов]] ==&lt;br /&gt;
&lt;br /&gt;
Второе важное приложение, это редактор ресурсов.&lt;br /&gt;
Так как мы открыли готовый проект, то с ним уже связана база графических ресурсов.&lt;br /&gt;
Чтобы её увидеть, нажмите кнопку [[Файл:00006.png|20px]] (или меню: &amp;lt;tt&amp;gt;Tools&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Resources Editor&amp;lt;/tt&amp;gt;).&lt;br /&gt;
Откроется новое окно, которое, на самом деле, является независимым приложением:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Редактор ресурсов111.png]]&lt;br /&gt;
&lt;br /&gt;
Как и в редакторе сцен, вверху окна редактора ресурсов расположено меню и кнопки быстрого доступа: создать базу ресурсов, открыть уже существующую, показать экспорт последних объектов, сохранить изменения в редакторе ресурсов, добавить картинку (png, jpeg), добавить картинку из папки, добавить анимацию, мелодию (mp3, ogg), видео (mp4).&lt;br /&gt;
Ниже, в левой панели, находятся папки, внутри которых можно найти различные графические ресурсы, которые мы будем использовать на протяжении этих уроков. Каждая папка названа по имени урока.&lt;br /&gt;
Кликнув на стрелочку (или плюсик, или треугольник) слева от папки lesson_1 мы увидим текстовый список из 8 картинок, находящихся в ранее запущенном приложении со слоненком и солнышком.&lt;br /&gt;
&lt;br /&gt;
Если в дереве папок активна данная папка, то на правой панели мы видим список графических ресурсов в виде иконок. Если же в дереве кликнуть на имя конкретной картинки, то в правой панели она будет представлена в натуральную величину. Если кликнуть правой кнопкой мыши на конкретный ресурс отобразится всплывающее подменю, которое аналогично кнопкам быстрого доступа, за исключением одного пункта - &amp;lt;tt&amp;gt;Заменить изображение...&amp;lt;/tt&amp;gt;. Замену изображений необходимо делать через всплывающее подменю.&lt;br /&gt;
&lt;br /&gt;
Текущее приложение содержит фоновую картинку (bg), три картинки частей слонёнка (elephant_body, elephant_head_1, elephant_head_2) и 4 картинки с различным видом солнышка. &lt;br /&gt;
&lt;br /&gt;
Так как редактор ресурсов является отдельным приложением, он может оказаться под окном редактора сцен. Это не всегда удобно, поэтому зайдем в пункт меню &amp;lt;tt&amp;gt;'''View'''&amp;lt;/tt&amp;gt; редактора ресурсов и поставим галочку у пункта &amp;lt;tt&amp;gt;'''Always on Top'''&amp;lt;/tt&amp;gt;. Теперь редактор ресурсов окажется поверх редактора сцен (как впрочем, и поверх всех остальных окон). Естественно, галочку можно в любой момент снять или свернуть окно редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
Размер окна редактора ресурсов можно изменять мышкой, схватившись за правый нижний угол окна.&lt;br /&gt;
Правую панель, которая выводит картинки, можно “перетащить” в любое место окна редактора ресурсов (для этого необходимо потянуть за её заголовок). Чтобы вернуть панель на фиксированное место, необходимо дважды кликнуть на её заголовке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование сцены ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление на сцену ===&lt;br /&gt;
&lt;br /&gt;
Разберемся, как на сцену добавляются новые объекты. Предполагается, что мы одновременно видим окна обоих редакторов. Убедимся, что в панели проекта (Layout) редактора сцен активна текущая сцена lessons_1. Не путайте её с экраном lesson_1, находящимся выше. Рядом с каждым объектом в дереве ресурсов находится иконка, отражающая тип объекта. Рядом с экраном изображено, что-то похожее на фотоаппарат, а рядом со сценой - чистый лист бумаги. &lt;br /&gt;
 &lt;br /&gt;
Нажав мышкой на иконку головы слонёнка в '''редакторе ресурсов''', перетащим её на сцену в '''редактор сцен''', где кнопку мышки отпустим:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Add picture.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Теперь окно редактора ресурсов можно свернуть, чтобы оно не мешало. &lt;br /&gt;
На сцене мы видим одного полноценного слонёнка и отдельно парящую голову.&lt;br /&gt;
В списке объектов (панель Layout) добавился объект elephant_head_2. &lt;br /&gt;
Его имя по умолчанию совпадает с именем картинки в редакторе ресурсов.&lt;br /&gt;
Если оно не достаточно точно выражает назначение этого объекта, то его '''необходимо'''&lt;br /&gt;
изменить в панели Properties (предполагается, что на дереве объектов эта голова сейчас выбрана).&lt;br /&gt;
Переименуем её, например, в elephant_ghost (дух слонёнка). Для этого кликнем справа от поля '''имя''' в панели Properties и введем новое название. После окончания редактирования нажимаем Enter. Одновременно с этим изменилось имя на дереве объектов (Layout).&lt;br /&gt;
Стоит всегда придерживаться следующего правила:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Необходимо присваивать объектам в проекте осмысленные имена, отражающие их роль и функции. Это относится также к именам экранов и сцен.'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Названия объектов могут повторяться, но это плохой тон. В частности, неудачным примером названий в этом проекте служат похожие имена экрана (lesson_1) и сцены (lessons_1). Плохое имя (move) у летающего солнышка (лучше было бы fly_sun). &lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что добавленная голова имеет тип '''image''' (первое поле в панели Properties).&lt;br /&gt;
Большинство объектов в начале имеют такой тип. Далее он меняется в зависимости от функциональности объекта (подробнее об этом в следующих уроках).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Совет''': Переименовывать объекты можно непосредственно в панели Layout, после двойного клика мышкой на имя этого объекта. Редактирование завершается нажатием клавиши Enter.  &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Изменение положения ===&lt;br /&gt;
&lt;br /&gt;
На сцене вокруг добавленной головы находится &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;зелёная прямоугольная рамка&amp;lt;/span&amp;gt; (объект активен). &lt;br /&gt;
Если она &amp;lt;span style=&amp;quot;color:#770000&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt;, необходимо кликнуть на объект (голову) и он станет активным.&lt;br /&gt;
Заметим, что при клике на объекте меняется не только цвет рамки, &lt;br /&gt;
но и активный объект на дереве объектов (Layout). Соответственно в панели Properties показываются его свойства.&lt;br /&gt;
Стоит покликать на различные объекты на сцене и на дереве проекта, наблюдая одним глазом за их рамкой, а другим за панелями проекта и свойств. В заключении этого увлекательного упражнения необходимо снова сделать активной голову.&lt;br /&gt;
&lt;br /&gt;
Активный объект можно таскать мышкой по экрану, задав ему требуемое положение (не оторвите только голову исходному слоненку). Стоит раскрыть свойство &amp;quot;'''положение'''&amp;quot; в панели Properties и понаблюдать, как при таскании головы меняются её координаты. &lt;br /&gt;
Начало координат (точка x=0, y=0) расположено в центре сцены. Горизонтальная ось x направлена вправо, а вертикальная ось y - вниз. Если объект находится ниже центра сцены, он будет иметь положительное значение y, а если выше, то отрицательное.&lt;br /&gt;
Естественно, положение объекта можно изменить и при помощи прямого редактирования полей '''x''', '''y''' свойства &amp;quot;'''положение'''&amp;quot;. Перетащите голову в правый верхний угол сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Модификаторы ===&lt;br /&gt;
&lt;br /&gt;
Будем считать, что добавленная голова слона - это дух предков исходного слонёнка.&lt;br /&gt;
Духу положено быть полупрозрачным. Это достигается изменением &lt;br /&gt;
свойства '''alpha''' в группе '''модификаторы''' на панели свойств (Properties).&lt;br /&gt;
Изменим исходное значение 1.00 (непрозрачен) на 0.5 (полупрозрачен).&lt;br /&gt;
Значение alpha=0 соответствует полной невидимости объекта (возможно любое значение между 0 и 1).&lt;br /&gt;
Обратим внимание, что десятичная точка является именно точкой, а не запятой, как всё ещё учат на 1/6 части суши. Впрочем, если в вашей операционной системе в языковых настройках стоит русский язык, Вы увидите привычную запятую, вместо десятичной точки. &lt;br /&gt;
&lt;br /&gt;
Дополнительно в разделе '''модификаторы''' можно изменить угол ('''angle''') в градусах (поставьте, например -30)&lt;br /&gt;
и масштаб картинки (поля '''scale x''' и '''scale y'''). Исходная картинка имеет единичный масштаб, т.е. на сцене выглядит также, как и в редакторе ресурсов. Если масштаб увеличить, то увеличится и картинка (это можно сделать независимо по ширине и высоте). &lt;br /&gt;
Соответственно, значение меньшее 1 (но большее нуля) её уменьшит.&lt;br /&gt;
Отрицательное значение масштаба переворачивает картинку. Задайте scale_x=-2 и scale_y=2.&lt;br /&gt;
В результате должно получиться что-то типа:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mod.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что при сильном масштабировании (scale) могут появляться дефекты картинки (квадратики пикселей), поэтому злоупотреблять большими значениями, обычно, не стоит.&lt;br /&gt;
&lt;br /&gt;
=== Z - порядок объектов ===&lt;br /&gt;
&lt;br /&gt;
Пришло время посмотреть, что у нас получилось. Для этого сохраняем все изменения &lt;br /&gt;
[[Файл:00 8.png]] (нажав кнопку Ok на выскочившем окошке).&lt;br /&gt;
Затем запускаем вьювер [[Файл:00 9.png]]. Понаблюдаем за солнцем. Оно движется над фоновой&lt;br /&gt;
картинкой &amp;quot;'''bg'''&amp;quot;, но ''под'' головой духа слона (он должен, естественно, находится в верхней части сцены). Такая последовательность прорисовки связана с порядком объектов в дереве на панели Layout. Отрисовка происходит сверху вниз (сначала bg, затем move и т.д.). Это правило является иерархическим. Если на дереве находятся объекты, содержащие другие объекты, то сначала рисуется вся эта ветка дерева, а затем поверх неё рисуются нижележащие на дереве объекты на других ветках. Это же правило относится к последовательности рисования сцен. Если на экране несколько сцен, то они рисуются сверху вниз в соответствии с их порядком на дереве. Сама по себе сцена - это невидимый объект (контейнер). Поэтому, рисование сцены означает последовательное рисование всех объектов, которые в ней находятся.&lt;br /&gt;
&lt;br /&gt;
Попробуем во вьювере кликнуть на солнце, когда оно оказывается под головой духа слона.&lt;br /&gt;
Его форма не изменяется, так как картинка головы, хотя и является полупрозрачной, по умолчанию &amp;quot;не прокликивается&amp;quot;. Чтобы изменить ситуацию, закроем вьювер (крестик) и отредактируем поле свойств головы с именем &amp;quot;'''прокликиваемая'''&amp;quot;, поставив вместо 0 значение 1. Закончив редактирование поля (нажав Enter), сохраняем проект [[Файл:00 8.png]] и снова запускаем вьювер [[Файл:00 9.png]].&lt;br /&gt;
Теперь дух, как и положено астральным образованиям, пропускает клик сквозь себя.&lt;br /&gt;
&lt;br /&gt;
Порядок рисования объектов можно изменить, перетащив их по дереву в панели Layout.&lt;br /&gt;
Эта операция требует определенной сноровки. Наступим на имя объекта elephant_ghost и не отпуская мыши потащим его вверх. Когда он окажется над объектом bg, отпустим мышь. Он станет подобъектом фона,&lt;br /&gt;
что отобразится как сдвиг elephant_ghost вправо (у объекта фона bg слева появится стрелочка). Теперь снова схватим elephant_ghost и потащим чуть вниз и влево по дереву.&lt;br /&gt;
Когда указатель мыши окажется между объектами bg и move, появится длинная горизонтальная полоска. В этот момент отпускаем мышь, и наш дух размещается между этими объектами.&lt;br /&gt;
&lt;br /&gt;
Ниже на рисунке представлены оба варианта положения духа на дереве сцены (слева подобъект elephant_ghost в объекте bg, а справа равноправный с bg объект, но ниже по дереву и, следовательно, рисуемый позже):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:El.png]]&lt;br /&gt;
[[файл:El2.png]]&lt;br /&gt;
&lt;br /&gt;
С точки зрения отрисовки, оба эти варианта приведут к одинаковому результату.&lt;br /&gt;
Проверьте это, потренировавшись в таскании, сохранении и запуске вьювера. Подумайте также, почему так происходит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление объектов ===&lt;br /&gt;
&lt;br /&gt;
Откройте снова окно редактора ресурсов (скорее всего оно находится в свернутом состоянии в панели приложений). Расположите его над окном редактора сцен. Перетащите на сцену из папки lesson_1 какую-нибудь небольшую картинку (например, sun_1). Сверните редактор ресурсов. Новая картинка появилась на сцене и в дереве объектов панели Layout. Чтобы её удалить, нажмите правую кнопку мыши на объекте sun_1 в панели Layout. В вывалившемся меню выберете пункт '''Delete'''. Картинка исчезнет. Эквивалентно, объект можно удалить, кликнув на него в дереве и нажав на клавиатуре кнопку Del.&lt;br /&gt;
&lt;br /&gt;
Заметим, что если объект на сцене сделать активным (кликнув на него - зеленая рамка) и попытаться нажать Del, то ничего не произойдет. Сделано это умышленно. Дело в том, что при удалении уничтожается не только сам объект, но и все его подобъекты. Подобная иерархия видна только на дереве проекта. &lt;br /&gt;
&lt;br /&gt;
В качестве упражнения, поместите на сцену две картинки. Одну их них в дереве панели Layout перетащите на другую, сделав её подобъектом. Потаскайте мышкой по сцене обе картинки. Обратите внимание, что подобъект перемещается независимым образом. В тоже время при таскании корневого объекта начнут двигаться они оба. Координаты подобъекта задаются относительно его владельца. Поэтому при перемещении корневого объекта вместе с ним движутся и все подобъекты.&lt;br /&gt;
Теперь удалите сразу оба объекта, сделав активным  на дереве корневой объект и нажав затем на кнопку Del (или при помощи правой кнопки мыши).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Другие объекты ===&lt;br /&gt;
&lt;br /&gt;
На нашей сцене кроме картинок находятся еще два типа объектов - это кнопка и машина состояний. С кнопками мы будем работать уже на следующем [[Создание экранов, сцен. Работа с кнопками|уроке]], а машинам состояний посвящены сразу 3 урока, начиная с [[Checkbox как машина состояний|третьего]]. Пока наша задача состоит в их поиске в дереве проекта и первым знакомством с их свойствами.&lt;br /&gt;
&lt;br /&gt;
Кликнем на стрелочку слева от объекта move в панели Layout. Под ним раскроется подобъект с именем '''sun_1'''. Это кнопка. Сам же объект move является машиной состояния. Кроме указания соответствующего типа в панели Properties (посмотрите на него!), тип объекта помечается иконкой на дереве. Для машины - это шестеренка, а кнопка - это кнопка :).&lt;br /&gt;
&lt;br /&gt;
Кликнув на объект '''sun_1''', рассмотрим его свойства в панели Properties. Кроме уже знакомых по картинке (тип=image) полей, появился ряд других. Например, раскроем стрелочку свойства &amp;quot;'''внешний вид'''&amp;quot;. Там находятся несколько полей, из которых заполнены '''up''' и '''down'''. В них заданы имена картинок для изображения отжатой и нажатой кнопки. Как они там оказались выясним в следующем [[Создание экранов, сцен. Работа с кнопками|уроке]]. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь объект '''move'''. Не смотря на небольшое количество свойств, это один из самых универсальных и сложных объектов, позволяющих программировать динамическое поведение объектов и их логику. Чтобы краем глаза заглянуть на кухню этого процесса кликните на свойство '''states''', а затем на появившиеся три точки в этом поле. Выскочит следующее окошко:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:Mov prop.png]]            [[файл:Move.png]]&lt;br /&gt;
&lt;br /&gt;
Эта машина состояний, которая имеет одно состояние. В нём задана последовательность команд, которые управляют её движением по экрану. Сама машина в данном случае является невидимым объектом. Однако, она содержит в качестве подобъекта кнопку '''sun_1'''. Поэтому, когда машина move бегает по экрану, вместе с ней движется и кнопка. Клики на себя принимает кнопка, меняя при этом свой внешний вид. Несложно догадаться, что в результате получается солнышко.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
* Найдите две машины состояний, связанные со слонёнком, и попробуйте догадаться как они работают (ответы в следующих уроках).&lt;br /&gt;
* Откройте демонстрационный проект, находящийся в папке AppSaluteСreator/Projects/Demo/demо. Поиграйтесь с ним.&lt;br /&gt;
* Снова откройте учебный проект c которым мы работали (AppSaluteСreator/Projects/Lessons/lessons). Он нам понадобится для следующего урока.&lt;br /&gt;
* Затем переходите на [[Создание экранов, сцен. Работа с кнопками|урок 2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9073</id>
		<title>Введение в AppSalute Сreator</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9073"/>
		<updated>2017-09-22T13:37:25Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Добавление на сцену */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
----&lt;br /&gt;
'''Цель:''' &lt;br /&gt;
познакомиться со средой разработки игр AppSalute Сreator.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* проинсталлировать AppSalute Сreator;&lt;br /&gt;
* открыть готовый проект в редакторе сцен;&lt;br /&gt;
* освоить взаимодействие редактора сцен и редактора ресурсов;&lt;br /&gt;
* изучить основные методы редактирования сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Для создания игр в AppSalute Сreator используются четыре взаимодействующих между собой приложения:&lt;br /&gt;
* [[Файл:Ico_main.png|40px]] '''[[Интерфейс ScenceEditor|Scene Editor]]''' - редактор игровых сцен (экранов), в котором происходит настройка свойств объектов и игровой логики. Это основной инструмент при разработке игры.&lt;br /&gt;
* [[Файл:Ico_base.png|40px]] '''[[Редактор ресурсов|Resources Editor]]''' - хранилище медиа-ресурсов (картинки, звуки, видео, анимация), использующихся в игре. Эти ресурсы при помощи мышки перетаскиваются на сцену в Scene Editor.&lt;br /&gt;
* [[Файл:Ico_text.png|40px]] '''[[Интерфейс TextEditor|Text Editor]]''' - хранилище всех текстовых ресурсов (надписей) на различных языках. Аналогично графике и звукам при помощи мышки они перетаскиваются в соответствующие свойства объектов, находящихся в Scene Editor. См. также [[Редактор текстовых ресурсов|Урок 6]]&lt;br /&gt;
* '''Viewer''' - проигрыватель созданной игры. Обычно запускается непосредственно из Scene Editor. Вы увидите, возможно сыграете, игру в том же виде, как и на любом мобильном устройстве.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Layout.png|right]]&lt;br /&gt;
Игра состоит из набора '''экранов'''. На каждом экране может находиться одна или несколько '''сцен'''.&lt;br /&gt;
Например, пусть на экране находится игровое поле и панель с интерфейсными кнопками. Эти две области можно оформить при помощи различных сцен. Первая сцена содержит игровые '''объекты''' редактора, например миниигры такие как puzzle и фоновую картинку. Вторая сцена содержит базовые элементы управления (кнопки, чекбоксы), универсальные машины состояний (программирующие логику) и т.д. &lt;br /&gt;
&lt;br /&gt;
Так как игра обычно запускается на различных устройствах (телефон, планшетник, десктоп), важным понятием является '''лейаут''' (layout). Условно - это различные мониторы, имеющие то или иное разрешение в пикселях и разное соотношение высоты и ширины. Игра может проектироваться только для одного лейаута, однако чаще поддерживается сразу несколько лейаутов: &lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson_1_layouts.png|400px]]&lt;br /&gt;
&lt;br /&gt;
В качестве примера справа на рисунке представлена структура некоторого проекта в лейауте с размерами экрана устройства 960x640 пикселей. На этом лейауте находятся экраны, из которых только один экран (pack1) развернут. Внутри него &lt;br /&gt;
находятся 2 сцены (stg_list1 и stg_main1). Одна сцена (stg_list1) раскрыта и содержит три игровых объекта. Последний из них (tbk_pack1) является сложным объектом, содержащим несколько других.&lt;br /&gt;
Таким образом, игровой проект можно представить как '''дерево''', на различных ветках которого находятся игровые объекты.&lt;br /&gt;
&lt;br /&gt;
Для начала работы с редактором его необходимо [[Установка и настройка|установить]], загрузив и запустив [[Downloads|инсталлятор]].&lt;br /&gt;
По умолчанию все необходимые программы будут размещены '''C:\Program Files\AppSalute Creator''' и материалы для уроков находятся в папке '''Мои Документы\Absolutist\Projects\lessons'''. При желании её можно в дальнейшем перенести в любое удобное место.&lt;br /&gt;
После инсталляции запускаем программу Scene Editor, найдя на рабочем столе или в списке приложений иконку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:icon_se.png]].&lt;br /&gt;
&lt;br /&gt;
== Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
=== Открытие проекта ===&lt;br /&gt;
	&lt;br /&gt;
Шаг первый. &lt;br /&gt;
Вверху окна редактора расположено общее меню и кнопки быстрого запуска:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Меню.png]]&lt;br /&gt;
&lt;br /&gt;
Если нажать пункт меню &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; (Проект), то выпадет список команд, с помощью которых можно [[Подготовка к работе &amp;quot;Создание проекта&amp;quot;|создать новый]] или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
&lt;br /&gt;
Откроем проект, на основании которого будут проходиться эти уроки. Для этого нажмём в меню пункты &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Open&amp;lt;/tt&amp;gt; или сразу кнопку быстрого доступа [[Файл:Открыть проект.png]]. Заходим в папку '''Мои документы/Absolutist/Projects/Lessons'''.&lt;br /&gt;
Внутри неё кликнем на файл '''lessons.seproj''' &lt;br /&gt;
&lt;br /&gt;
[[Файл:Seproj.JPG|400px]].&lt;br /&gt;
&lt;br /&gt;
В результате откроется проект, визуальная часть которого окажется в основной (центральной) части редактора. Чтобы увидеть что-то кроме белого экрана, необходимо на панели Layout, которая находится в правой верхней части экрана, кликнуть мышкой на строчку с надписью '''lesson_1''' (это первый игровой экран приложения). В результате мы должны увидеть:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Экран.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства проекта ===&lt;br /&gt;
&lt;br /&gt;
В правой части окна редактора расположены две панели '''Layout''' (лейаут) и '''Properties''' (свойства).&lt;br /&gt;
На панели Layout показано иерархическое дерево проекта, который пока состоит из одного игрового экрана lesson_1. Если кликнуть на стрелочку (или плюсик, или треугольник, в зависимости от Вашей ОС) слева от надписи lesson_1, то экран раскроется и мы увидим [[Проектирование_экранов_игры#Принципы_формирования_сцен_и_их_наполнения|сцену]], которая находится на [[Проектирование_экранов_игры|экране]]. Она называется lessons_1. Продолжая кликать на стрелочки, раскроем всю структуру этого проекта: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Лэйаут.png]]&lt;br /&gt;
&lt;br /&gt;
Наиболее простым объектом, находящимся в дереве проекта, является статическая картинка фона, которая называется '''bg'''. Если на неё кликнуть, то ниже в панели '''Properties''' можно увидеть параметры настройки этого объекта (его свойства):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Свойства.png]]&lt;br /&gt;
&lt;br /&gt;
Стоит &amp;quot;пораскрывать&amp;quot; ветки настроек объекта bg, нажимая на стрелочки (или плюсики, или треугольники) слева от имен полей. Если навести мышкой на имя поля, то появится краткая подсказка, поясняющий смысл свойства.&lt;br /&gt;
&lt;br /&gt;
Панели Layout и Properties могут перетаскиваться мышкой в произвольное место редактора,&lt;br /&gt;
располагаться одна под другой или объединяться в одну панель с двумя закладками снизу.&lt;br /&gt;
Если панели находятся одна под другой, можно мышкой изменить их относительную высоту. Для этого мышь располагаем между ними, пока она не изменит своей формы со стрелочки на сплиттер (две горизонтальные полоски). Затем, нажав на мышь, таскаем вверх-вниз границу между панелями.&lt;br /&gt;
&lt;br /&gt;
=== Проигрывание проекта ===&lt;br /&gt;
&lt;br /&gt;
В процессе разработки игрового проекта, игру в любой момент можно запустить в отдельном окне вьювера ('''Viewer''') для проверки. Для этого в дереве проекта (панель Layout) необходимо выбрать интересующий нас экран (с которого произойдёт запуск) и нажать кнопку [[Файл:Play111.png]] (или пункт меню &amp;lt;tt&amp;gt;Viewer&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Start Viewer&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В нашем случае мы увидим летающее над слонёнком солнышко. Оба объекта (и слонёнок, и солнышко) являются активными. Кликните сначала на голову слонёнка - она должна повернуться. Клик на тело слонёнка заставит его подпрыгнуть. При должной сноровке можно кликнуть также на летающее солнышко, что приведёт к кратковременному изменению его формы.&lt;br /&gt;
&lt;br /&gt;
Стоит запомнить три важных правила при работе с вьювером:&lt;br /&gt;
* Если приложение редактировалось, то перед запуском вьювера проект необходимо &amp;lt;u&amp;gt;сначала&amp;lt;/u&amp;gt; сохранить (меню: &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Save Project&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Всегда необходимо перед запуском вьювера выбирать экран, который начнёт проигрываться (сейчас такой экран пока один).&lt;br /&gt;
* После просмотра во вьювере игры, его необходимо закрыть, нажав (как обычно в Windows) крестик в правом верхнем углу окна.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки быстрого запуска ===&lt;br /&gt;
&lt;br /&gt;
Приведем для справки описание кнопок быстрого доступа к некоторым командам редактора сцен (более подробная информация будет предоставлена в последующих уроках):&lt;br /&gt;
&lt;br /&gt;
*[[Файл:00001.png]] — создать новый проект; &lt;br /&gt;
*[[Файл:Открыть проект.png]] — открыть уже созданный проект;&lt;br /&gt;
*[[Файл:00002.png]] — сохранить изменения в проекте; &lt;br /&gt;
*[[Файл:00003.png]] — нормальный вид; &lt;br /&gt;
*[[Файл:Play111.png]] —  запустить Viewer;&lt;br /&gt;
*[[Файл:000004.png]] — запустить Viewer с изменением времени; &lt;br /&gt;
*[[Файл:000005.png]] — очистить данные;&lt;br /&gt;
*[[Файл:00006.png]] — вызов редактора ресурсов;&lt;br /&gt;
*[[Файл:00007.png]] — вызов текстового редактора;&lt;br /&gt;
*[[Файл:00008.png]] — анализ использованных ресурсов;  &lt;br /&gt;
*[[Файл:00009.png]] — поиск объекта по имени или id;&lt;br /&gt;
*[[Файл:0000010.png]] — общие свойства объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Редактор ресурсов]] ==&lt;br /&gt;
&lt;br /&gt;
Второе важное приложение, это редактор ресурсов.&lt;br /&gt;
Так как мы открыли готовый проект, то с ним уже связана база графических ресурсов.&lt;br /&gt;
Чтобы её увидеть, нажмите кнопку [[Файл:00006.png|20px]] (или меню: &amp;lt;tt&amp;gt;Tools&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Resources Editor&amp;lt;/tt&amp;gt;).&lt;br /&gt;
Откроется новое окно, которое, на самом деле, является независимым приложением:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Редактор ресурсов111.png]]&lt;br /&gt;
&lt;br /&gt;
Как и в редакторе сцен, вверху окна редактора ресурсов расположено меню и кнопки быстрого доступа: создать базу ресурсов, открыть уже существующую, показать экспорт последних объектов, сохранить изменения в редакторе ресурсов, добавить картинку (png, jpeg), добавить картинку из папки, добавить анимацию, мелодию (mp3, ogg), видео (mp4).&lt;br /&gt;
Ниже, в левой панели, находятся папки, внутри которых можно найти различные графические ресурсы, которые мы будем использовать на протяжении этих уроков. Каждая папка названа по имени урока.&lt;br /&gt;
Кликнув на стрелочку (или плюсик, или треугольник) слева от папки lesson_1 мы увидим текстовый список из 8 картинок, находящихся в ранее запущенном приложении со слоненком и солнышком.&lt;br /&gt;
&lt;br /&gt;
Если в дереве папок активна данная папка, то на правой панели мы видим список графических ресурсов в виде иконок. Если же в дереве кликнуть на имя конкретной картинки, то в правой панели она будет представлена в натуральную величину. Если кликнуть правой кнопкой мыши на конкретный ресурс отобразится всплывающее подменю, которое аналогично кнопкам быстрого доступа, за исключением одного пункта - &amp;lt;tt&amp;gt;Заменить изображение...&amp;lt;/tt&amp;gt;. Замену изображений необходимо делать через всплывающее подменю.&lt;br /&gt;
&lt;br /&gt;
Текущее приложение содержит фоновую картинку (bg), три картинки частей слонёнка (elephant_body, elephant_head_1, elephant_head_2) и 4 картинки с различным видом солнышка. &lt;br /&gt;
&lt;br /&gt;
Так как редактор ресурсов является отдельным приложением, он может оказаться под окном редактора сцен. Это не всегда удобно, поэтому зайдем в пункт меню &amp;lt;tt&amp;gt;'''View'''&amp;lt;/tt&amp;gt; редактора ресурсов и поставим галочку у пункта &amp;lt;tt&amp;gt;'''Always on Top'''&amp;lt;/tt&amp;gt;. Теперь редактор ресурсов окажется поверх редактора сцен (как впрочем, и поверх всех остальных окон). Естественно, галочку можно в любой момент снять или свернуть окно редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
Размер окна редактора ресурсов можно изменять мышкой, схватившись за правый нижний угол окна.&lt;br /&gt;
Правую панель, которая выводит картинки, можно “перетащить” в любое место окна редактора ресурсов (для этого необходимо потянуть за её заголовок). Чтобы вернуть панель на фиксированное место, необходимо дважды кликнуть на её заголовке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование сцены ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление на сцену ===&lt;br /&gt;
&lt;br /&gt;
Разберемся, как на сцену добавляются новые объекты. Предполагается, что мы одновременно видим окна обоих редакторов. Убедимся, что в панели проекта (Layout) редактора сцен активна текущая сцена lessons_1. Не путайте её с экраном lesson_1, находящимся выше. Рядом с каждым объектом в дереве ресурсов находится иконка, отражающая тип объекта. Рядом с экраном изображено, что-то похожее на фотоаппарат, а рядом со сценой - чистый лист бумаги. &lt;br /&gt;
 &lt;br /&gt;
Нажав мышкой на иконку головы слонёнка в '''редакторе ресурсов''', перетащим её на сцену в '''редактор сцен''', где кнопку мышки отпустим:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Add picture.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Теперь окно редактора ресурсов можно свернуть, чтобы оно не мешало. &lt;br /&gt;
На сцене мы видим одного полноценного слонёнка и отдельно парящую голову.&lt;br /&gt;
В списке объектов (панель Layout) добавился объект elephant_head_2. &lt;br /&gt;
Его имя по умолчанию совпадает с именем картинки в редакторе ресурсов.&lt;br /&gt;
Если оно не достаточно точно выражает назначение этого объекта, то его '''необходимо'''&lt;br /&gt;
изменить в панели Properties (предполагается, что на дереве объектов эта голова сейчас выбрана).&lt;br /&gt;
Переименуем её, например, в elephant_ghost (дух слонёнка). Для этого кликнем справа от поля '''имя''' в панели Properties и введем новое название. После окончания редактирования нажимаем Enter. Одновременно с этим изменилось имя на дереве объектов (Layout).&lt;br /&gt;
Стоит всегда придерживаться следующего правила:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Необходимо присваивать объектам в проекте осмысленные имена, отражающие их роль и функции. Это относится также к именам экранов и сцен.'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Названия объектов могут повторяться, но это плохой тон. В частности, неудачным примером названий в этом проекте служат похожие имена экрана (lesson_1) и сцены (lessons_1). Плохое имя (move) у летающего солнышка (лучше было бы fly_sun). &lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что добавленная голова имеет тип '''image''' (первое поле в панели Properties).&lt;br /&gt;
Большинство объектов в начале имеют такой тип. Далее он меняется в зависимости от функциональности объекта (подробнее об этом в следующих уроках).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Совет''': Переименовывать объекты можно непосредственно в панели Layout, после двойного клика мышкой на имя этого объекта. Редактирование завершается нажатием клавиши Enter.  &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Изменение положения ===&lt;br /&gt;
&lt;br /&gt;
На сцене вокруг добавленной головы находится &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;зелёная прямоугольная рамка&amp;lt;/span&amp;gt; (объект активен). &lt;br /&gt;
Если она &amp;lt;span style=&amp;quot;color:#770000&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt;, необходимо кликнуть на объект (голову) и он станет активным.&lt;br /&gt;
Заметим, что при клике на объекте меняется не только цвет рамки, &lt;br /&gt;
но и активный объект на дереве объектов (Layout). Соответственно в панели Properties показываются его свойства.&lt;br /&gt;
Стоит покликать на различные объекты на сцене и на дереве проекта, наблюдая одним глазом за их рамкой, а другим за панелями проекта и свойств. В заключении этого увлекательного упражнения необходимо снова сделать активной голову.&lt;br /&gt;
&lt;br /&gt;
Активный объект можно таскать мышкой по экрану, задав ему требуемое положение (не оторвите только голову исходному слоненку). Стоит раскрыть свойство &amp;quot;'''положение'''&amp;quot; в панели Properties и понаблюдать, как при таскании головы меняются её координаты. &lt;br /&gt;
Начало координат (точка x=0, y=0) расположено в центре сцены. Горизонтальная ось x направлена вправо, а вертикальная ось y - вниз. Если объект находится ниже центра сцены, он будет иметь положительное значение y, а если выше, то отрицательное.&lt;br /&gt;
Естественно, положение объекта можно изменить и при помощи прямого редактирования полей '''x''', '''y''' свойства &amp;quot;'''положение'''&amp;quot;. Перетащите голову в правый верхний угол сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Модификаторы ===&lt;br /&gt;
&lt;br /&gt;
Будем считать, что добавленная голова слона - это дух предков исходного слонёнка.&lt;br /&gt;
Духу положено быть полупрозрачным. Это достигается изменением &lt;br /&gt;
свойства '''alpha''' в группе '''модификаторы''' на панели свойств (Properties).&lt;br /&gt;
Изменим исходное значение 1.00 (непрозрачен) на 0.5 (полупрозрачен).&lt;br /&gt;
Значение alpha=0 соответствует полной невидимости объекта (возможно любое значение между 0 и 1).&lt;br /&gt;
Обратим внимание, что десятичная точка является именно точкой, а не запятой, как всё ещё учат на 1/6 части суши. Впрочем, если в вашей операционной системе в языковых настройках стоит русский язык, Вы увидите привычную запятую, вместо десятичной точки. &lt;br /&gt;
&lt;br /&gt;
Дополнительно в разделе '''модификаторы''' можно изменить угол ('''angle''') в градусах (поставьте, например -30)&lt;br /&gt;
и масштаб картинки (поля '''scale x''' и '''scale y'''). Исходная картинка имеет единичный масштаб, т.е. на сцене выглядит также, как и в редакторе ресурсов. Если масштаб увеличить, то увеличится и картинка (это можно сделать независимо по ширине и высоте). &lt;br /&gt;
Соответственно, значение меньшее 1 (но большее нуля) её уменьшит.&lt;br /&gt;
Отрицательное значение масштаба переворачивает картинку. Задайте scale_x=-2 и scale_y=2.&lt;br /&gt;
В результате должно получиться что-то типа:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mod.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что при сильном масштабировании (scale) могут появляться дефекты картинки (квадратики пикселей), поэтому злоупотреблять большими значениями, обычно, не стоит.&lt;br /&gt;
&lt;br /&gt;
=== Z - порядок объектов ===&lt;br /&gt;
&lt;br /&gt;
Пришло время посмотреть, что у нас получилось. Для этого сохраняем все изменения &lt;br /&gt;
[[Файл:00 8.png]] (нажав кнопку Ok на выскочившем окошке).&lt;br /&gt;
Затем запускаем вьювер [[Файл:00 9.png]]. Понаблюдаем за солнцем. Оно движется над фоновой&lt;br /&gt;
картинкой &amp;quot;'''bg'''&amp;quot;, но ''под'' головой духа слона (он должен, естественно, находится в верхней части сцены). Такая последовательность прорисовки связана с порядком объектов в дереве на панели Layout. Отрисовка происходит сверху вниз (сначала bg, затем move и т.д.). Это правило является иерархическим. Если на дереве находятся объекты, содержащие другие объекты, то сначала рисуется вся эта ветка дерева, а затем поверх неё рисуются нижележащие на дереве объекты на других ветках. Это же правило относится к последовательности рисования сцен. Если на экране несколько сцен, то они рисуются сверху вниз в соответствии с их порядком на дереве. Сама по себе сцена - это невидимый объект (контейнер). Поэтому, рисование сцены означает последовательное рисование всех объектов, которые в ней находятся.&lt;br /&gt;
&lt;br /&gt;
Попробуем во вьювере кликнуть на солнце, когда оно оказывается под головой духа слона.&lt;br /&gt;
Его форма не изменяется, так как картинка головы, хотя и является полупрозрачной, по умолчанию &amp;quot;не прокликивается&amp;quot;. Чтобы изменить ситуацию, закроем вьювер (крестик) и отредактируем поле свойств головы с именем &amp;quot;'''прокликиваемая'''&amp;quot;, поставив вместо 0 значение 1. Закончив редактирование поля (нажав Enter), сохраняем проект [[Файл:00 8.png]] и снова запускаем вьювер [[Файл:00 9.png]].&lt;br /&gt;
Теперь дух, как и положено астральным образованиям, пропускает клик сквозь себя.&lt;br /&gt;
&lt;br /&gt;
Порядок рисования объектов можно изменить, перетащив их по дереву в панели Layout.&lt;br /&gt;
Эта операция требует определенной сноровки. Наступим на имя объекта elephant_ghost и не отпуская мыши потащим его вверх. Когда он окажется над объектом bg, отпустим мышь. Он станет подобъектом фона,&lt;br /&gt;
что отобразится как сдвиг elephant_ghost вправо (у объекта фона bg слева появится стрелочка). Теперь снова схватим elephant_ghost и потащим чуть вниз и влево по дереву.&lt;br /&gt;
Когда указатель мыши окажется между объектами bg и move, появится длинная горизонтальная полоска. В этот момент отпускаем мышь, и наш дух размещается между этими объектами.&lt;br /&gt;
&lt;br /&gt;
Ниже на рисунке представлены оба варианта положения духа на дереве сцены (слева подобъект elephant_ghost в объекте bg, а справа равноправный с bg объект, но ниже по дереву и, следовательно, рисуемый позже):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:El.png]]&lt;br /&gt;
[[файл:El2.png]]&lt;br /&gt;
&lt;br /&gt;
С точки зрения отрисовки, оба эти варианта приведут к одинаковому результату.&lt;br /&gt;
Проверьте это, потренировавшись в таскании, сохранении и запуске вьювера. Подумайте также, почему так происходит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление объектов ===&lt;br /&gt;
&lt;br /&gt;
Откройте снова окно редактора ресурсов (скорее всего оно находится в свернутом состоянии в панели приложений). Расположите его над окном редактора сцен. Перетащите на сцену из папки lesson_1 какую-нибудь небольшую картинку (например, sun_1). Сверните редактор ресурсов. Новая картинка появилась на сцене и в дереве объектов панели Layout. Чтобы её удалить, нажмите правую кнопку мыши на объекте sun_1 в панели Layout. В вывалившемся меню выберете пункт '''Delete'''. Картинка исчезнет. Эквивалентно, объект можно удалить, кликнув на него в дереве и нажав на клавиатуре кнопку Del.&lt;br /&gt;
&lt;br /&gt;
Заметим, что если объект на сцене сделать активным (кликнув на него - зеленая рамка) и попытаться нажать Del, то ничего не произойдет. Сделано это умышленно. Дело в том, что при удалении уничтожается не только сам объект, но и все его подобъекты. Подобная иерархия видна только на дереве проекта. &lt;br /&gt;
&lt;br /&gt;
В качестве упражнения, поместите на сцену две картинки. Одну их них в дереве панели Layout перетащите на другую, сделав её подобъектом. Потаскайте мышкой по сцене обе картинки. Обратите внимание, что подобъект перемещается независимым образом. В тоже время при таскании корневого объекта начнут двигаться они оба. Координаты подобъекта задаются относительно его владельца. Поэтому при перемещении корневого объекта вместе с ним движутся и все подобъекты.&lt;br /&gt;
Теперь удалите сразу оба объекта, сделав активным  на дереве корневой объект и нажав затем на кнопку Del (или при помощи правой кнопки мыши).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Другие объекты ===&lt;br /&gt;
&lt;br /&gt;
На нашей сцене кроме картинок находятся еще два типа объектов - это кнопка и машина состояний. С кнопками мы будем работать уже на следующем [[Создание экранов, сцен. Работа с кнопками|уроке]], а машинам состояний посвящены сразу 3 урока, начиная с [[Checkbox как машина состояний|третьего]]. Пока наша задача состоит в их поиске в дереве проекта и первым знакомством с их свойствами.&lt;br /&gt;
&lt;br /&gt;
Кликнем на стрелочку слева от объекта move в панели Layout. Под ним раскроется подобъект с именем '''sun_1'''. Это кнопка. Сам же объект move является машиной состояния. Кроме указания соответствующего типа в панели Properties (посмотрите на него!), тип объекта помечается иконкой на дереве. Для машины - это шестеренка, а кнопка - это кнопка :).&lt;br /&gt;
&lt;br /&gt;
Кликнув на объект '''sun_1''', рассмотрим его свойства в панели Properties. Кроме уже знакомых по картинке (тип=image) полей, появился ряд других. Например, раскроем стрелочку свойства &amp;quot;'''внешний вид'''&amp;quot;. Там находятся несколько полей, из которых заполнены '''up''' и '''down'''. В них заданы имена картинок для изображения отжатой и нажатой кнопки. Как они там оказались выясним в следующем [[Создание экранов, сцен. Работа с кнопками|уроке]]. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь объект '''move'''. Не смотря на небольшое количество свойств, это один из самых универсальных и сложных объектов, позволяющих программировать динамическое поведение объектов и их логику. Чтобы краем глаза заглянуть на кухню этого процесса кликните на свойство '''states''', а затем на появившиеся три точки в этом поле. Выскочит следующее окошко:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:Mov prop.png]]            [[файл:Move.png]]&lt;br /&gt;
&lt;br /&gt;
Эта машина состояний, которая имеет одно состояние. В нём задана последовательность команд, которые управляют её движением по экрану. Сама машина в данном случае является невидимым объектом. Однако, она содержит в качестве подобъекта кнопку '''sun_1'''. Поэтому, когда машина move бегает по экрану, вместе с ней движется и кнопка. Клики на себя принимает кнопка, меняя при этом свой внешний вид. Несложно догадаться, что в результате получается солнышко.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
* Найдите две машины состояний, связанные со слонёнком, и попробуйте догадаться как они работают (ответы в следующих уроках).&lt;br /&gt;
* Откройте демонстрационный проект, находящийся в папке AppSaluteСreator/Projects/Demo/demо. Поиграйтесь с ним.&lt;br /&gt;
* Снова откройте учебный проект c которым мы работали (AppSaluteСreator/Projects/Lessons/lessons). Он нам понадобится для следующего урока.&lt;br /&gt;
* Затем переходите на [[Создание экранов, сцен. Работа с кнопками|урок 2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9072</id>
		<title>Введение в AppSalute Сreator</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9072"/>
		<updated>2017-09-22T13:36:56Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Открытие проекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
----&lt;br /&gt;
'''Цель:''' &lt;br /&gt;
познакомиться со средой разработки игр AppSalute Сreator.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* проинсталлировать AppSalute Сreator;&lt;br /&gt;
* открыть готовый проект в редакторе сцен;&lt;br /&gt;
* освоить взаимодействие редактора сцен и редактора ресурсов;&lt;br /&gt;
* изучить основные методы редактирования сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Для создания игр в AppSalute Сreator используются четыре взаимодействующих между собой приложения:&lt;br /&gt;
* [[Файл:Ico_main.png|40px]] '''[[Интерфейс ScenceEditor|Scene Editor]]''' - редактор игровых сцен (экранов), в котором происходит настройка свойств объектов и игровой логики. Это основной инструмент при разработке игры.&lt;br /&gt;
* [[Файл:Ico_base.png|40px]] '''[[Редактор ресурсов|Resources Editor]]''' - хранилище медиа-ресурсов (картинки, звуки, видео, анимация), использующихся в игре. Эти ресурсы при помощи мышки перетаскиваются на сцену в Scene Editor.&lt;br /&gt;
* [[Файл:Ico_text.png|40px]] '''[[Интерфейс TextEditor|Text Editor]]''' - хранилище всех текстовых ресурсов (надписей) на различных языках. Аналогично графике и звукам при помощи мышки они перетаскиваются в соответствующие свойства объектов, находящихся в Scene Editor. См. также [[Редактор текстовых ресурсов|Урок 6]]&lt;br /&gt;
* '''Viewer''' - проигрыватель созданной игры. Обычно запускается непосредственно из Scene Editor. Вы увидите, возможно сыграете, игру в том же виде, как и на любом мобильном устройстве.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Layout.png|right]]&lt;br /&gt;
Игра состоит из набора '''экранов'''. На каждом экране может находиться одна или несколько '''сцен'''.&lt;br /&gt;
Например, пусть на экране находится игровое поле и панель с интерфейсными кнопками. Эти две области можно оформить при помощи различных сцен. Первая сцена содержит игровые '''объекты''' редактора, например миниигры такие как puzzle и фоновую картинку. Вторая сцена содержит базовые элементы управления (кнопки, чекбоксы), универсальные машины состояний (программирующие логику) и т.д. &lt;br /&gt;
&lt;br /&gt;
Так как игра обычно запускается на различных устройствах (телефон, планшетник, десктоп), важным понятием является '''лейаут''' (layout). Условно - это различные мониторы, имеющие то или иное разрешение в пикселях и разное соотношение высоты и ширины. Игра может проектироваться только для одного лейаута, однако чаще поддерживается сразу несколько лейаутов: &lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson_1_layouts.png|400px]]&lt;br /&gt;
&lt;br /&gt;
В качестве примера справа на рисунке представлена структура некоторого проекта в лейауте с размерами экрана устройства 960x640 пикселей. На этом лейауте находятся экраны, из которых только один экран (pack1) развернут. Внутри него &lt;br /&gt;
находятся 2 сцены (stg_list1 и stg_main1). Одна сцена (stg_list1) раскрыта и содержит три игровых объекта. Последний из них (tbk_pack1) является сложным объектом, содержащим несколько других.&lt;br /&gt;
Таким образом, игровой проект можно представить как '''дерево''', на различных ветках которого находятся игровые объекты.&lt;br /&gt;
&lt;br /&gt;
Для начала работы с редактором его необходимо [[Установка и настройка|установить]], загрузив и запустив [[Downloads|инсталлятор]].&lt;br /&gt;
По умолчанию все необходимые программы будут размещены '''C:\Program Files\AppSalute Creator''' и материалы для уроков находятся в папке '''Мои Документы\Absolutist\Projects\lessons'''. При желании её можно в дальнейшем перенести в любое удобное место.&lt;br /&gt;
После инсталляции запускаем программу Scene Editor, найдя на рабочем столе или в списке приложений иконку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:icon_se.png]].&lt;br /&gt;
&lt;br /&gt;
== Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
=== Открытие проекта ===&lt;br /&gt;
	&lt;br /&gt;
Шаг первый. &lt;br /&gt;
Вверху окна редактора расположено общее меню и кнопки быстрого запуска:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Меню.png]]&lt;br /&gt;
&lt;br /&gt;
Если нажать пункт меню &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; (Проект), то выпадет список команд, с помощью которых можно [[Подготовка к работе &amp;quot;Создание проекта&amp;quot;|создать новый]] или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
&lt;br /&gt;
Откроем проект, на основании которого будут проходиться эти уроки. Для этого нажмём в меню пункты &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Open&amp;lt;/tt&amp;gt; или сразу кнопку быстрого доступа [[Файл:Открыть проект.png]]. Заходим в папку '''Мои документы/Absolutist/Projects/Lessons'''.&lt;br /&gt;
Внутри неё кликнем на файл '''lessons.seproj''' &lt;br /&gt;
&lt;br /&gt;
[[Файл:Seproj.JPG|400px]].&lt;br /&gt;
&lt;br /&gt;
В результате откроется проект, визуальная часть которого окажется в основной (центральной) части редактора. Чтобы увидеть что-то кроме белого экрана, необходимо на панели Layout, которая находится в правой верхней части экрана, кликнуть мышкой на строчку с надписью '''lesson_1''' (это первый игровой экран приложения). В результате мы должны увидеть:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Экран.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства проекта ===&lt;br /&gt;
&lt;br /&gt;
В правой части окна редактора расположены две панели '''Layout''' (лейаут) и '''Properties''' (свойства).&lt;br /&gt;
На панели Layout показано иерархическое дерево проекта, который пока состоит из одного игрового экрана lesson_1. Если кликнуть на стрелочку (или плюсик, или треугольник, в зависимости от Вашей ОС) слева от надписи lesson_1, то экран раскроется и мы увидим [[Проектирование_экранов_игры#Принципы_формирования_сцен_и_их_наполнения|сцену]], которая находится на [[Проектирование_экранов_игры|экране]]. Она называется lessons_1. Продолжая кликать на стрелочки, раскроем всю структуру этого проекта: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Лэйаут.png]]&lt;br /&gt;
&lt;br /&gt;
Наиболее простым объектом, находящимся в дереве проекта, является статическая картинка фона, которая называется '''bg'''. Если на неё кликнуть, то ниже в панели '''Properties''' можно увидеть параметры настройки этого объекта (его свойства):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Свойства.png]]&lt;br /&gt;
&lt;br /&gt;
Стоит &amp;quot;пораскрывать&amp;quot; ветки настроек объекта bg, нажимая на стрелочки (или плюсики, или треугольники) слева от имен полей. Если навести мышкой на имя поля, то появится краткая подсказка, поясняющий смысл свойства.&lt;br /&gt;
&lt;br /&gt;
Панели Layout и Properties могут перетаскиваться мышкой в произвольное место редактора,&lt;br /&gt;
располагаться одна под другой или объединяться в одну панель с двумя закладками снизу.&lt;br /&gt;
Если панели находятся одна под другой, можно мышкой изменить их относительную высоту. Для этого мышь располагаем между ними, пока она не изменит своей формы со стрелочки на сплиттер (две горизонтальные полоски). Затем, нажав на мышь, таскаем вверх-вниз границу между панелями.&lt;br /&gt;
&lt;br /&gt;
=== Проигрывание проекта ===&lt;br /&gt;
&lt;br /&gt;
В процессе разработки игрового проекта, игру в любой момент можно запустить в отдельном окне вьювера ('''Viewer''') для проверки. Для этого в дереве проекта (панель Layout) необходимо выбрать интересующий нас экран (с которого произойдёт запуск) и нажать кнопку [[Файл:Play111.png]] (или пункт меню &amp;lt;tt&amp;gt;Viewer&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Start Viewer&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В нашем случае мы увидим летающее над слонёнком солнышко. Оба объекта (и слонёнок, и солнышко) являются активными. Кликните сначала на голову слонёнка - она должна повернуться. Клик на тело слонёнка заставит его подпрыгнуть. При должной сноровке можно кликнуть также на летающее солнышко, что приведёт к кратковременному изменению его формы.&lt;br /&gt;
&lt;br /&gt;
Стоит запомнить три важных правила при работе с вьювером:&lt;br /&gt;
* Если приложение редактировалось, то перед запуском вьювера проект необходимо &amp;lt;u&amp;gt;сначала&amp;lt;/u&amp;gt; сохранить (меню: &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Save Project&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Всегда необходимо перед запуском вьювера выбирать экран, который начнёт проигрываться (сейчас такой экран пока один).&lt;br /&gt;
* После просмотра во вьювере игры, его необходимо закрыть, нажав (как обычно в Windows) крестик в правом верхнем углу окна.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки быстрого запуска ===&lt;br /&gt;
&lt;br /&gt;
Приведем для справки описание кнопок быстрого доступа к некоторым командам редактора сцен (более подробная информация будет предоставлена в последующих уроках):&lt;br /&gt;
&lt;br /&gt;
*[[Файл:00001.png]] — создать новый проект; &lt;br /&gt;
*[[Файл:Открыть проект.png]] — открыть уже созданный проект;&lt;br /&gt;
*[[Файл:00002.png]] — сохранить изменения в проекте; &lt;br /&gt;
*[[Файл:00003.png]] — нормальный вид; &lt;br /&gt;
*[[Файл:Play111.png]] —  запустить Viewer;&lt;br /&gt;
*[[Файл:000004.png]] — запустить Viewer с изменением времени; &lt;br /&gt;
*[[Файл:000005.png]] — очистить данные;&lt;br /&gt;
*[[Файл:00006.png]] — вызов редактора ресурсов;&lt;br /&gt;
*[[Файл:00007.png]] — вызов текстового редактора;&lt;br /&gt;
*[[Файл:00008.png]] — анализ использованных ресурсов;  &lt;br /&gt;
*[[Файл:00009.png]] — поиск объекта по имени или id;&lt;br /&gt;
*[[Файл:0000010.png]] — общие свойства объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Редактор ресурсов]] ==&lt;br /&gt;
&lt;br /&gt;
Второе важное приложение, это редактор ресурсов.&lt;br /&gt;
Так как мы открыли готовый проект, то с ним уже связана база графических ресурсов.&lt;br /&gt;
Чтобы её увидеть, нажмите кнопку [[Файл:00006.png|20px]] (или меню: &amp;lt;tt&amp;gt;Tools&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Resources Editor&amp;lt;/tt&amp;gt;).&lt;br /&gt;
Откроется новое окно, которое, на самом деле, является независимым приложением:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Редактор ресурсов111.png]]&lt;br /&gt;
&lt;br /&gt;
Как и в редакторе сцен, вверху окна редактора ресурсов расположено меню и кнопки быстрого доступа: создать базу ресурсов, открыть уже существующую, показать экспорт последних объектов, сохранить изменения в редакторе ресурсов, добавить картинку (png, jpeg), добавить картинку из папки, добавить анимацию, мелодию (mp3, ogg), видео (mp4).&lt;br /&gt;
Ниже, в левой панели, находятся папки, внутри которых можно найти различные графические ресурсы, которые мы будем использовать на протяжении этих уроков. Каждая папка названа по имени урока.&lt;br /&gt;
Кликнув на стрелочку (или плюсик, или треугольник) слева от папки lesson_1 мы увидим текстовый список из 8 картинок, находящихся в ранее запущенном приложении со слоненком и солнышком.&lt;br /&gt;
&lt;br /&gt;
Если в дереве папок активна данная папка, то на правой панели мы видим список графических ресурсов в виде иконок. Если же в дереве кликнуть на имя конкретной картинки, то в правой панели она будет представлена в натуральную величину. Если кликнуть правой кнопкой мыши на конкретный ресурс отобразится всплывающее подменю, которое аналогично кнопкам быстрого доступа, за исключением одного пункта - &amp;lt;tt&amp;gt;Заменить изображение...&amp;lt;/tt&amp;gt;. Замену изображений необходимо делать через всплывающее подменю.&lt;br /&gt;
&lt;br /&gt;
Текущее приложение содержит фоновую картинку (bg), три картинки частей слонёнка (elephant_body, elephant_head_1, elephant_head_2) и 4 картинки с различным видом солнышка. &lt;br /&gt;
&lt;br /&gt;
Так как редактор ресурсов является отдельным приложением, он может оказаться под окном редактора сцен. Это не всегда удобно, поэтому зайдем в пункт меню &amp;lt;tt&amp;gt;'''View'''&amp;lt;/tt&amp;gt; редактора ресурсов и поставим галочку у пункта &amp;lt;tt&amp;gt;'''Always on Top'''&amp;lt;/tt&amp;gt;. Теперь редактор ресурсов окажется поверх редактора сцен (как впрочем, и поверх всех остальных окон). Естественно, галочку можно в любой момент снять или свернуть окно редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
Размер окна редактора ресурсов можно изменять мышкой, схватившись за правый нижний угол окна.&lt;br /&gt;
Правую панель, которая выводит картинки, можно “перетащить” в любое место окна редактора ресурсов (для этого необходимо потянуть за её заголовок). Чтобы вернуть панель на фиксированное место, необходимо дважды кликнуть на её заголовке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование сцены ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление на сцену ===&lt;br /&gt;
&lt;br /&gt;
Разберемся, как на сцену добавляются новые объекты. Предполагается, что мы одновременно видим окна обоих редакторов. Убедимся, что в панели проекта (Layout) редактора сцен активна текущая сцена lessons_1. Не путайте её с экраном lesson_1, находящимся выше. Рядом с каждым объектом в дереве ресурсов находится иконка, отражающая тип объекта. Рядом с экраном изображено, что-то похожее на фотоаппарат, а рядом со сценой - чистый лист бумаги. &lt;br /&gt;
 &lt;br /&gt;
Нажав мышкой на иконку головы слонёнка в '''редакторе ресурсов''', перетащим её на сцену в '''редактор сцен''', где кнопку мышки отпустим:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Add picture.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Теперь окно редактора ресурсов можно свернуть, чтобы оно не мешало. &lt;br /&gt;
На сцене мы видим одного полноценного слонёнка и отдельно парящую голову.&lt;br /&gt;
В списке объектов (панель Layout) добавился объект elephant_head_2. &lt;br /&gt;
Его имя по умолчанию совпадает с именем картинки в редакторе ресурсов.&lt;br /&gt;
Если оно не достаточно точно выражает назначение этого объекта, то его '''необходимо'''&lt;br /&gt;
изменить в панели Properties (предполагается, что на дереве объектов эта голова сейчас выбрана).&lt;br /&gt;
Переименуем её, например, в elephant_ghost (дух слонёнка). Для этого кликнем справа от поля '''имя''' в панели Properties и введем новое название. После окончания редактирования нажимаем Enter. Одновременно с этим изменилось имя на дереве объектов (Layout).&lt;br /&gt;
Стоит всегда придерживаться следующего правила:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Необходимо присваивать объектам в проекте осмысленные имена, отражающие их роль и функции. Это относится также к именам экранов и сцен.'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Названия объектов могут повторяться, но это плохой тон. В частности, неудачным примером названий в этом проекте служат похожие имена экрана (lesson_1) и сцены (lessons_1). Плохое имя (move) у летающего солнышка (лучше было бы fly_sun). &lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что добавленная голова имеет тип '''image''' (первое поле в панели Properties).&lt;br /&gt;
Большинство объектов в начале имеют такой тип. Далее он меняется в зависимости от функциональности объекта (подробнее об этом в следующих уроках).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Совет''': Переименовывать объекты можно непосредственно в панели Layout, после двойного клика мышкой на имя этого объекта. Редактирование завершается нажатием клавиши Enter.  &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Изменение положения ===&lt;br /&gt;
&lt;br /&gt;
На сцене вокруг добавленной головы находится &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;зелёная прямоугольная рамка&amp;lt;/span&amp;gt; (объект активен). &lt;br /&gt;
Если она &amp;lt;span style=&amp;quot;color:#770000&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt;, необходимо кликнуть на объект (голову) и он станет активным.&lt;br /&gt;
Заметим, что при клике на объекте меняется не только цвет рамки, &lt;br /&gt;
но и активный объект на дереве объектов (Layout). Соответственно в панели Properties показываются его свойства.&lt;br /&gt;
Стоит покликать на различные объекты на сцене и на дереве проекта, наблюдая одним глазом за их рамкой, а другим за панелями проекта и свойств. В заключении этого увлекательного упражнения необходимо снова сделать активной голову.&lt;br /&gt;
&lt;br /&gt;
Активный объект можно таскать мышкой по экрану, задав ему требуемое положение (не оторвите только голову исходному слоненку). Стоит раскрыть свойство &amp;quot;'''положение'''&amp;quot; в панели Properties и понаблюдать, как при таскании головы меняются её координаты. &lt;br /&gt;
Начало координат (точка x=0, y=0) расположено в центре сцены. Горизонтальная ось x направлена вправо, а вертикальная ось y - вниз. Если объект находится ниже центра сцены, он будет иметь положительное значение y, а если выше, то отрицательное.&lt;br /&gt;
Естественно, положение объекта можно изменить и при помощи прямого редактирования полей '''x''', '''y''' свойства &amp;quot;'''положение'''&amp;quot;. Перетащите голову в правый верхний угол сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Модификаторы ===&lt;br /&gt;
&lt;br /&gt;
Будем считать, что добавленная голова слона - это дух предков исходного слонёнка.&lt;br /&gt;
Духу положено быть полупрозрачным. Это достигается изменением &lt;br /&gt;
свойства '''alpha''' в группе '''модификаторы''' на панели свойств (Properties).&lt;br /&gt;
Изменим исходное значение 1.00 (непрозрачен) на 0.5 (полупрозрачен).&lt;br /&gt;
Значение alpha=0 соответствует полной невидимости объекта (возможно любое значение между 0 и 1).&lt;br /&gt;
Обратим внимание, что десятичная точка является именно точкой, а не запятой, как всё ещё учат на 1/6 части суши. Впрочем, если в вашей операционной системе в языковых настройках стоит русский язык, Вы увидите привычную запятую, вместо десятичной точки. &lt;br /&gt;
&lt;br /&gt;
Дополнительно в разделе '''модификаторы''' можно изменить угол ('''angle''') в градусах (поставьте, например -30)&lt;br /&gt;
и масштаб картинки (поля '''scale x''' и '''scale y'''). Исходная картинка имеет единичный масштаб, т.е. на сцене выглядит также, как и в редакторе ресурсов. Если масштаб увеличить, то увеличится и картинка (это можно сделать независимо по ширине и высоте). &lt;br /&gt;
Соответственно, значение меньшее 1 (но большее нуля) её уменьшит.&lt;br /&gt;
Отрицательное значение масштаба переворачивает картинку. Задайте scale_x=-2 и scale_y=2.&lt;br /&gt;
В результате должно получиться что-то типа:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mod.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что при сильном масштабировании (scale) могут появляться дефекты картинки (квадратики пикселей), поэтому злоупотреблять большими значениями, обычно, не стоит.&lt;br /&gt;
&lt;br /&gt;
=== Z - порядок объектов ===&lt;br /&gt;
&lt;br /&gt;
Пришло время посмотреть, что у нас получилось. Для этого сохраняем все изменения &lt;br /&gt;
[[Файл:00 8.png]] (нажав кнопку Ok на выскочившем окошке).&lt;br /&gt;
Затем запускаем вьювер [[Файл:00 9.png]]. Понаблюдаем за солнцем. Оно движется над фоновой&lt;br /&gt;
картинкой &amp;quot;'''bg'''&amp;quot;, но ''под'' головой духа слона (он должен, естественно, находится в верхней части сцены). Такая последовательность прорисовки связана с порядком объектов в дереве на панели Layout. Отрисовка происходит сверху вниз (сначала bg, затем move и т.д.). Это правило является иерархическим. Если на дереве находятся объекты, содержащие другие объекты, то сначала рисуется вся эта ветка дерева, а затем поверх неё рисуются нижележащие на дереве объекты на других ветках. Это же правило относится к последовательности рисования сцен. Если на экране несколько сцен, то они рисуются сверху вниз в соответствии с их порядком на дереве. Сама по себе сцена - это невидимый объект (контейнер). Поэтому, рисование сцены означает последовательное рисование всех объектов, которые в ней находятся.&lt;br /&gt;
&lt;br /&gt;
Попробуем во вьювере кликнуть на солнце, когда оно оказывается под головой духа слона.&lt;br /&gt;
Его форма не изменяется, так как картинка головы, хотя и является полупрозрачной, по умолчанию &amp;quot;не прокликивается&amp;quot;. Чтобы изменить ситуацию, закроем вьювер (крестик) и отредактируем поле свойств головы с именем &amp;quot;'''прокликиваемая'''&amp;quot;, поставив вместо 0 значение 1. Закончив редактирование поля (нажав Enter), сохраняем проект [[Файл:00 8.png]] и снова запускаем вьювер [[Файл:00 9.png]].&lt;br /&gt;
Теперь дух, как и положено астральным образованиям, пропускает клик сквозь себя.&lt;br /&gt;
&lt;br /&gt;
Порядок рисования объектов можно изменить, перетащив их по дереву в панели Layout.&lt;br /&gt;
Эта операция требует определенной сноровки. Наступим на имя объекта elephant_ghost и не отпуская мыши потащим его вверх. Когда он окажется над объектом bg, отпустим мышь. Он станет подобъектом фона,&lt;br /&gt;
что отобразится как сдвиг elephant_ghost вправо (у объекта фона bg слева появится стрелочка). Теперь снова схватим elephant_ghost и потащим чуть вниз и влево по дереву.&lt;br /&gt;
Когда указатель мыши окажется между объектами bg и move, появится длинная горизонтальная полоска. В этот момент отпускаем мышь, и наш дух размещается между этими объектами.&lt;br /&gt;
&lt;br /&gt;
Ниже на рисунке представлены оба варианта положения духа на дереве сцены (слева подобъект elephant_ghost в объекте bg, а справа равноправный с bg объект, но ниже по дереву и, следовательно, рисуемый позже):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:El.png]]&lt;br /&gt;
[[файл:El2.png]]&lt;br /&gt;
&lt;br /&gt;
С точки зрения отрисовки, оба эти варианта приведут к одинаковому результату.&lt;br /&gt;
Проверьте это, потренировавшись в таскании, сохранении и запуске вьювера. Подумайте также, почему так происходит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление объектов ===&lt;br /&gt;
&lt;br /&gt;
Откройте снова окно редактора ресурсов (скорее всего оно находится в свернутом состоянии в панели приложений). Расположите его над окном редактора сцен. Перетащите на сцену из папки lesson_1 какую-нибудь небольшую картинку (например, sun_1). Сверните редактор ресурсов. Новая картинка появилась на сцене и в дереве объектов панели Layout. Чтобы её удалить, нажмите правую кнопку мыши на объекте sun_1 в панели Layout. В вывалившемся меню выберете пункт '''Delete'''. Картинка исчезнет. Эквивалентно, объект можно удалить, кликнув на него в дереве и нажав на клавиатуре кнопку Del.&lt;br /&gt;
&lt;br /&gt;
Заметим, что если объект на сцене сделать активным (кликнув на него - зеленая рамка) и попытаться нажать Del, то ничего не произойдет. Сделано это умышленно. Дело в том, что при удалении уничтожается не только сам объект, но и все его подобъекты. Подобная иерархия видна только на дереве проекта. &lt;br /&gt;
&lt;br /&gt;
В качестве упражнения, поместите на сцену две картинки. Одну их них в дереве панели Layout перетащите на другую, сделав её подобъектом. Потаскайте мышкой по сцене обе картинки. Обратите внимание, что подобъект перемещается независимым образом. В тоже время при таскании корневого объекта начнут двигаться они оба. Координаты подобъекта задаются относительно его владельца. Поэтому при перемещении корневого объекта вместе с ним движутся и все подобъекты.&lt;br /&gt;
Теперь удалите сразу оба объекта, сделав активным  на дереве корневой объект и нажав затем на кнопку Del (или при помощи правой кнопки мыши).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Другие объекты ===&lt;br /&gt;
&lt;br /&gt;
На нашей сцене кроме картинок находятся еще два типа объектов - это кнопка и машина состояний. С кнопками мы будем работать уже на следующем [[Создание экранов, сцен. Работа с кнопками|уроке]], а машинам состояний посвящены сразу 3 урока, начиная с [[Checkbox как машина состояний|третьего]]. Пока наша задача состоит в их поиске в дереве проекта и первым знакомством с их свойствами.&lt;br /&gt;
&lt;br /&gt;
Кликнем на стрелочку слева от объекта move в панели Layout. Под ним раскроется подобъект с именем '''sun_1'''. Это кнопка. Сам же объект move является машиной состояния. Кроме указания соответствующего типа в панели Properties (посмотрите на него!), тип объекта помечается иконкой на дереве. Для машины - это шестеренка, а кнопка - это кнопка :).&lt;br /&gt;
&lt;br /&gt;
Кликнув на объект '''sun_1''', рассмотрим его свойства в панели Properties. Кроме уже знакомых по картинке (тип=image) полей, появился ряд других. Например, раскроем стрелочку свойства &amp;quot;'''внешний вид'''&amp;quot;. Там находятся несколько полей, из которых заполнены '''up''' и '''down'''. В них заданы имена картинок для изображения отжатой и нажатой кнопки. Как они там оказались выясним в следующем [[Создание экранов, сцен. Работа с кнопками|уроке]]. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь объект '''move'''. Не смотря на небольшое количество свойств, это один из самых универсальных и сложных объектов, позволяющих программировать динамическое поведение объектов и их логику. Чтобы краем глаза заглянуть на кухню этого процесса кликните на свойство '''states''', а затем на появившиеся три точки в этом поле. Выскочит следующее окошко:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:Mov prop.png]]            [[файл:Move.png]]&lt;br /&gt;
&lt;br /&gt;
Эта машина состояний, которая имеет одно состояние. В нём задана последовательность команд, которые управляют её движением по экрану. Сама машина в данном случае является невидимым объектом. Однако, она содержит в качестве подобъекта кнопку '''sun_1'''. Поэтому, когда машина move бегает по экрану, вместе с ней движется и кнопка. Клики на себя принимает кнопка, меняя при этом свой внешний вид. Несложно догадаться, что в результате получается солнышко.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
* Найдите две машины состояний, связанные со слонёнком, и попробуйте догадаться как они работают (ответы в следующих уроках).&lt;br /&gt;
* Откройте демонстрационный проект, находящийся в папке AppSaluteСreator/Projects/Demo/demо. Поиграйтесь с ним.&lt;br /&gt;
* Снова откройте учебный проект c которым мы работали (AppSaluteСreator/Projects/Lessons/lessons). Он нам понадобится для следующего урока.&lt;br /&gt;
* Затем переходите на [[Создание экранов, сцен. Работа с кнопками|урок 2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9071</id>
		<title>Введение в AppSalute Сreator</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9071"/>
		<updated>2017-09-22T13:36:40Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Открытие проекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
----&lt;br /&gt;
'''Цель:''' &lt;br /&gt;
познакомиться со средой разработки игр AppSalute Сreator.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* проинсталлировать AppSalute Сreator;&lt;br /&gt;
* открыть готовый проект в редакторе сцен;&lt;br /&gt;
* освоить взаимодействие редактора сцен и редактора ресурсов;&lt;br /&gt;
* изучить основные методы редактирования сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Для создания игр в AppSalute Сreator используются четыре взаимодействующих между собой приложения:&lt;br /&gt;
* [[Файл:Ico_main.png|40px]] '''[[Интерфейс ScenceEditor|Scene Editor]]''' - редактор игровых сцен (экранов), в котором происходит настройка свойств объектов и игровой логики. Это основной инструмент при разработке игры.&lt;br /&gt;
* [[Файл:Ico_base.png|40px]] '''[[Редактор ресурсов|Resources Editor]]''' - хранилище медиа-ресурсов (картинки, звуки, видео, анимация), использующихся в игре. Эти ресурсы при помощи мышки перетаскиваются на сцену в Scene Editor.&lt;br /&gt;
* [[Файл:Ico_text.png|40px]] '''[[Интерфейс TextEditor|Text Editor]]''' - хранилище всех текстовых ресурсов (надписей) на различных языках. Аналогично графике и звукам при помощи мышки они перетаскиваются в соответствующие свойства объектов, находящихся в Scene Editor. См. также [[Редактор текстовых ресурсов|Урок 6]]&lt;br /&gt;
* '''Viewer''' - проигрыватель созданной игры. Обычно запускается непосредственно из Scene Editor. Вы увидите, возможно сыграете, игру в том же виде, как и на любом мобильном устройстве.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Layout.png|right]]&lt;br /&gt;
Игра состоит из набора '''экранов'''. На каждом экране может находиться одна или несколько '''сцен'''.&lt;br /&gt;
Например, пусть на экране находится игровое поле и панель с интерфейсными кнопками. Эти две области можно оформить при помощи различных сцен. Первая сцена содержит игровые '''объекты''' редактора, например миниигры такие как puzzle и фоновую картинку. Вторая сцена содержит базовые элементы управления (кнопки, чекбоксы), универсальные машины состояний (программирующие логику) и т.д. &lt;br /&gt;
&lt;br /&gt;
Так как игра обычно запускается на различных устройствах (телефон, планшетник, десктоп), важным понятием является '''лейаут''' (layout). Условно - это различные мониторы, имеющие то или иное разрешение в пикселях и разное соотношение высоты и ширины. Игра может проектироваться только для одного лейаута, однако чаще поддерживается сразу несколько лейаутов: &lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson_1_layouts.png|400px]]&lt;br /&gt;
&lt;br /&gt;
В качестве примера справа на рисунке представлена структура некоторого проекта в лейауте с размерами экрана устройства 960x640 пикселей. На этом лейауте находятся экраны, из которых только один экран (pack1) развернут. Внутри него &lt;br /&gt;
находятся 2 сцены (stg_list1 и stg_main1). Одна сцена (stg_list1) раскрыта и содержит три игровых объекта. Последний из них (tbk_pack1) является сложным объектом, содержащим несколько других.&lt;br /&gt;
Таким образом, игровой проект можно представить как '''дерево''', на различных ветках которого находятся игровые объекты.&lt;br /&gt;
&lt;br /&gt;
Для начала работы с редактором его необходимо [[Установка и настройка|установить]], загрузив и запустив [[Downloads|инсталлятор]].&lt;br /&gt;
По умолчанию все необходимые программы будут размещены '''C:\Program Files\AppSalute Creator''' и материалы для уроков находятся в папке '''Мои Документы\Absolutist\Projects\lessons'''. При желании её можно в дальнейшем перенести в любое удобное место.&lt;br /&gt;
После инсталляции запускаем программу Scene Editor, найдя на рабочем столе или в списке приложений иконку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:icon_se.png]].&lt;br /&gt;
&lt;br /&gt;
== Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
=== Открытие проекта ===&lt;br /&gt;
	&lt;br /&gt;
Шаг первый. &lt;br /&gt;
Вверху окна редактора расположено общее меню и кнопки быстрого запуска:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Меню.png]]&lt;br /&gt;
&lt;br /&gt;
Если нажать пункт меню &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; (Проект), то выпадет список команд, с помощью которых можно [[Подготовка к работе &amp;quot;Создание проекта&amp;quot;|создать новый]] или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
&lt;br /&gt;
Откроем проект, на основании которого будут проходиться эти уроки. Для этого нажмём в меню пункты &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Open&amp;lt;/tt&amp;gt; или сразу кнопку быстрого доступа [[Файл:Открыть проект.png]]. Заходим в папку '''Мои документы/Absolutist/Projects/Lessons'''.&lt;br /&gt;
Внутри неё кликнем на файл '''lessons.seproj''' &lt;br /&gt;
&lt;br /&gt;
[[Файл:Seproj.JPG|400px]].&lt;br /&gt;
&lt;br /&gt;
В результате откроется проект, визуальная часть которого окажется в основной (центральной) части редактора. Чтобы увидеть что-то кроме белого экрана, необходимо на панели Layout, которая находится в правой верхней части экрана, кликнуть мышкой на строчку с надписью '''lesson_1''' (это первый игровой экран приложения). В результате мы должны увидеть:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Экран.png|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства проекта ===&lt;br /&gt;
&lt;br /&gt;
В правой части окна редактора расположены две панели '''Layout''' (лейаут) и '''Properties''' (свойства).&lt;br /&gt;
На панели Layout показано иерархическое дерево проекта, который пока состоит из одного игрового экрана lesson_1. Если кликнуть на стрелочку (или плюсик, или треугольник, в зависимости от Вашей ОС) слева от надписи lesson_1, то экран раскроется и мы увидим [[Проектирование_экранов_игры#Принципы_формирования_сцен_и_их_наполнения|сцену]], которая находится на [[Проектирование_экранов_игры|экране]]. Она называется lessons_1. Продолжая кликать на стрелочки, раскроем всю структуру этого проекта: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Лэйаут.png]]&lt;br /&gt;
&lt;br /&gt;
Наиболее простым объектом, находящимся в дереве проекта, является статическая картинка фона, которая называется '''bg'''. Если на неё кликнуть, то ниже в панели '''Properties''' можно увидеть параметры настройки этого объекта (его свойства):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Свойства.png]]&lt;br /&gt;
&lt;br /&gt;
Стоит &amp;quot;пораскрывать&amp;quot; ветки настроек объекта bg, нажимая на стрелочки (или плюсики, или треугольники) слева от имен полей. Если навести мышкой на имя поля, то появится краткая подсказка, поясняющий смысл свойства.&lt;br /&gt;
&lt;br /&gt;
Панели Layout и Properties могут перетаскиваться мышкой в произвольное место редактора,&lt;br /&gt;
располагаться одна под другой или объединяться в одну панель с двумя закладками снизу.&lt;br /&gt;
Если панели находятся одна под другой, можно мышкой изменить их относительную высоту. Для этого мышь располагаем между ними, пока она не изменит своей формы со стрелочки на сплиттер (две горизонтальные полоски). Затем, нажав на мышь, таскаем вверх-вниз границу между панелями.&lt;br /&gt;
&lt;br /&gt;
=== Проигрывание проекта ===&lt;br /&gt;
&lt;br /&gt;
В процессе разработки игрового проекта, игру в любой момент можно запустить в отдельном окне вьювера ('''Viewer''') для проверки. Для этого в дереве проекта (панель Layout) необходимо выбрать интересующий нас экран (с которого произойдёт запуск) и нажать кнопку [[Файл:Play111.png]] (или пункт меню &amp;lt;tt&amp;gt;Viewer&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Start Viewer&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В нашем случае мы увидим летающее над слонёнком солнышко. Оба объекта (и слонёнок, и солнышко) являются активными. Кликните сначала на голову слонёнка - она должна повернуться. Клик на тело слонёнка заставит его подпрыгнуть. При должной сноровке можно кликнуть также на летающее солнышко, что приведёт к кратковременному изменению его формы.&lt;br /&gt;
&lt;br /&gt;
Стоит запомнить три важных правила при работе с вьювером:&lt;br /&gt;
* Если приложение редактировалось, то перед запуском вьювера проект необходимо &amp;lt;u&amp;gt;сначала&amp;lt;/u&amp;gt; сохранить (меню: &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Save Project&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Всегда необходимо перед запуском вьювера выбирать экран, который начнёт проигрываться (сейчас такой экран пока один).&lt;br /&gt;
* После просмотра во вьювере игры, его необходимо закрыть, нажав (как обычно в Windows) крестик в правом верхнем углу окна.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки быстрого запуска ===&lt;br /&gt;
&lt;br /&gt;
Приведем для справки описание кнопок быстрого доступа к некоторым командам редактора сцен (более подробная информация будет предоставлена в последующих уроках):&lt;br /&gt;
&lt;br /&gt;
*[[Файл:00001.png]] — создать новый проект; &lt;br /&gt;
*[[Файл:Открыть проект.png]] — открыть уже созданный проект;&lt;br /&gt;
*[[Файл:00002.png]] — сохранить изменения в проекте; &lt;br /&gt;
*[[Файл:00003.png]] — нормальный вид; &lt;br /&gt;
*[[Файл:Play111.png]] —  запустить Viewer;&lt;br /&gt;
*[[Файл:000004.png]] — запустить Viewer с изменением времени; &lt;br /&gt;
*[[Файл:000005.png]] — очистить данные;&lt;br /&gt;
*[[Файл:00006.png]] — вызов редактора ресурсов;&lt;br /&gt;
*[[Файл:00007.png]] — вызов текстового редактора;&lt;br /&gt;
*[[Файл:00008.png]] — анализ использованных ресурсов;  &lt;br /&gt;
*[[Файл:00009.png]] — поиск объекта по имени или id;&lt;br /&gt;
*[[Файл:0000010.png]] — общие свойства объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Редактор ресурсов]] ==&lt;br /&gt;
&lt;br /&gt;
Второе важное приложение, это редактор ресурсов.&lt;br /&gt;
Так как мы открыли готовый проект, то с ним уже связана база графических ресурсов.&lt;br /&gt;
Чтобы её увидеть, нажмите кнопку [[Файл:00006.png|20px]] (или меню: &amp;lt;tt&amp;gt;Tools&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Resources Editor&amp;lt;/tt&amp;gt;).&lt;br /&gt;
Откроется новое окно, которое, на самом деле, является независимым приложением:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Редактор ресурсов111.png]]&lt;br /&gt;
&lt;br /&gt;
Как и в редакторе сцен, вверху окна редактора ресурсов расположено меню и кнопки быстрого доступа: создать базу ресурсов, открыть уже существующую, показать экспорт последних объектов, сохранить изменения в редакторе ресурсов, добавить картинку (png, jpeg), добавить картинку из папки, добавить анимацию, мелодию (mp3, ogg), видео (mp4).&lt;br /&gt;
Ниже, в левой панели, находятся папки, внутри которых можно найти различные графические ресурсы, которые мы будем использовать на протяжении этих уроков. Каждая папка названа по имени урока.&lt;br /&gt;
Кликнув на стрелочку (или плюсик, или треугольник) слева от папки lesson_1 мы увидим текстовый список из 8 картинок, находящихся в ранее запущенном приложении со слоненком и солнышком.&lt;br /&gt;
&lt;br /&gt;
Если в дереве папок активна данная папка, то на правой панели мы видим список графических ресурсов в виде иконок. Если же в дереве кликнуть на имя конкретной картинки, то в правой панели она будет представлена в натуральную величину. Если кликнуть правой кнопкой мыши на конкретный ресурс отобразится всплывающее подменю, которое аналогично кнопкам быстрого доступа, за исключением одного пункта - &amp;lt;tt&amp;gt;Заменить изображение...&amp;lt;/tt&amp;gt;. Замену изображений необходимо делать через всплывающее подменю.&lt;br /&gt;
&lt;br /&gt;
Текущее приложение содержит фоновую картинку (bg), три картинки частей слонёнка (elephant_body, elephant_head_1, elephant_head_2) и 4 картинки с различным видом солнышка. &lt;br /&gt;
&lt;br /&gt;
Так как редактор ресурсов является отдельным приложением, он может оказаться под окном редактора сцен. Это не всегда удобно, поэтому зайдем в пункт меню &amp;lt;tt&amp;gt;'''View'''&amp;lt;/tt&amp;gt; редактора ресурсов и поставим галочку у пункта &amp;lt;tt&amp;gt;'''Always on Top'''&amp;lt;/tt&amp;gt;. Теперь редактор ресурсов окажется поверх редактора сцен (как впрочем, и поверх всех остальных окон). Естественно, галочку можно в любой момент снять или свернуть окно редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
Размер окна редактора ресурсов можно изменять мышкой, схватившись за правый нижний угол окна.&lt;br /&gt;
Правую панель, которая выводит картинки, можно “перетащить” в любое место окна редактора ресурсов (для этого необходимо потянуть за её заголовок). Чтобы вернуть панель на фиксированное место, необходимо дважды кликнуть на её заголовке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование сцены ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление на сцену ===&lt;br /&gt;
&lt;br /&gt;
Разберемся, как на сцену добавляются новые объекты. Предполагается, что мы одновременно видим окна обоих редакторов. Убедимся, что в панели проекта (Layout) редактора сцен активна текущая сцена lessons_1. Не путайте её с экраном lesson_1, находящимся выше. Рядом с каждым объектом в дереве ресурсов находится иконка, отражающая тип объекта. Рядом с экраном изображено, что-то похожее на фотоаппарат, а рядом со сценой - чистый лист бумаги. &lt;br /&gt;
 &lt;br /&gt;
Нажав мышкой на иконку головы слонёнка в '''редакторе ресурсов''', перетащим её на сцену в '''редактор сцен''', где кнопку мышки отпустим:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Add picture.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Теперь окно редактора ресурсов можно свернуть, чтобы оно не мешало. &lt;br /&gt;
На сцене мы видим одного полноценного слонёнка и отдельно парящую голову.&lt;br /&gt;
В списке объектов (панель Layout) добавился объект elephant_head_2. &lt;br /&gt;
Его имя по умолчанию совпадает с именем картинки в редакторе ресурсов.&lt;br /&gt;
Если оно не достаточно точно выражает назначение этого объекта, то его '''необходимо'''&lt;br /&gt;
изменить в панели Properties (предполагается, что на дереве объектов эта голова сейчас выбрана).&lt;br /&gt;
Переименуем её, например, в elephant_ghost (дух слонёнка). Для этого кликнем справа от поля '''имя''' в панели Properties и введем новое название. После окончания редактирования нажимаем Enter. Одновременно с этим изменилось имя на дереве объектов (Layout).&lt;br /&gt;
Стоит всегда придерживаться следующего правила:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Необходимо присваивать объектам в проекте осмысленные имена, отражающие их роль и функции. Это относится также к именам экранов и сцен.'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Названия объектов могут повторяться, но это плохой тон. В частности, неудачным примером названий в этом проекте служат похожие имена экрана (lesson_1) и сцены (lessons_1). Плохое имя (move) у летающего солнышка (лучше было бы fly_sun). &lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что добавленная голова имеет тип '''image''' (первое поле в панели Properties).&lt;br /&gt;
Большинство объектов в начале имеют такой тип. Далее он меняется в зависимости от функциональности объекта (подробнее об этом в следующих уроках).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Совет''': Переименовывать объекты можно непосредственно в панели Layout, после двойного клика мышкой на имя этого объекта. Редактирование завершается нажатием клавиши Enter.  &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Изменение положения ===&lt;br /&gt;
&lt;br /&gt;
На сцене вокруг добавленной головы находится &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;зелёная прямоугольная рамка&amp;lt;/span&amp;gt; (объект активен). &lt;br /&gt;
Если она &amp;lt;span style=&amp;quot;color:#770000&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt;, необходимо кликнуть на объект (голову) и он станет активным.&lt;br /&gt;
Заметим, что при клике на объекте меняется не только цвет рамки, &lt;br /&gt;
но и активный объект на дереве объектов (Layout). Соответственно в панели Properties показываются его свойства.&lt;br /&gt;
Стоит покликать на различные объекты на сцене и на дереве проекта, наблюдая одним глазом за их рамкой, а другим за панелями проекта и свойств. В заключении этого увлекательного упражнения необходимо снова сделать активной голову.&lt;br /&gt;
&lt;br /&gt;
Активный объект можно таскать мышкой по экрану, задав ему требуемое положение (не оторвите только голову исходному слоненку). Стоит раскрыть свойство &amp;quot;'''положение'''&amp;quot; в панели Properties и понаблюдать, как при таскании головы меняются её координаты. &lt;br /&gt;
Начало координат (точка x=0, y=0) расположено в центре сцены. Горизонтальная ось x направлена вправо, а вертикальная ось y - вниз. Если объект находится ниже центра сцены, он будет иметь положительное значение y, а если выше, то отрицательное.&lt;br /&gt;
Естественно, положение объекта можно изменить и при помощи прямого редактирования полей '''x''', '''y''' свойства &amp;quot;'''положение'''&amp;quot;. Перетащите голову в правый верхний угол сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Модификаторы ===&lt;br /&gt;
&lt;br /&gt;
Будем считать, что добавленная голова слона - это дух предков исходного слонёнка.&lt;br /&gt;
Духу положено быть полупрозрачным. Это достигается изменением &lt;br /&gt;
свойства '''alpha''' в группе '''модификаторы''' на панели свойств (Properties).&lt;br /&gt;
Изменим исходное значение 1.00 (непрозрачен) на 0.5 (полупрозрачен).&lt;br /&gt;
Значение alpha=0 соответствует полной невидимости объекта (возможно любое значение между 0 и 1).&lt;br /&gt;
Обратим внимание, что десятичная точка является именно точкой, а не запятой, как всё ещё учат на 1/6 части суши. Впрочем, если в вашей операционной системе в языковых настройках стоит русский язык, Вы увидите привычную запятую, вместо десятичной точки. &lt;br /&gt;
&lt;br /&gt;
Дополнительно в разделе '''модификаторы''' можно изменить угол ('''angle''') в градусах (поставьте, например -30)&lt;br /&gt;
и масштаб картинки (поля '''scale x''' и '''scale y'''). Исходная картинка имеет единичный масштаб, т.е. на сцене выглядит также, как и в редакторе ресурсов. Если масштаб увеличить, то увеличится и картинка (это можно сделать независимо по ширине и высоте). &lt;br /&gt;
Соответственно, значение меньшее 1 (но большее нуля) её уменьшит.&lt;br /&gt;
Отрицательное значение масштаба переворачивает картинку. Задайте scale_x=-2 и scale_y=2.&lt;br /&gt;
В результате должно получиться что-то типа:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mod.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что при сильном масштабировании (scale) могут появляться дефекты картинки (квадратики пикселей), поэтому злоупотреблять большими значениями, обычно, не стоит.&lt;br /&gt;
&lt;br /&gt;
=== Z - порядок объектов ===&lt;br /&gt;
&lt;br /&gt;
Пришло время посмотреть, что у нас получилось. Для этого сохраняем все изменения &lt;br /&gt;
[[Файл:00 8.png]] (нажав кнопку Ok на выскочившем окошке).&lt;br /&gt;
Затем запускаем вьювер [[Файл:00 9.png]]. Понаблюдаем за солнцем. Оно движется над фоновой&lt;br /&gt;
картинкой &amp;quot;'''bg'''&amp;quot;, но ''под'' головой духа слона (он должен, естественно, находится в верхней части сцены). Такая последовательность прорисовки связана с порядком объектов в дереве на панели Layout. Отрисовка происходит сверху вниз (сначала bg, затем move и т.д.). Это правило является иерархическим. Если на дереве находятся объекты, содержащие другие объекты, то сначала рисуется вся эта ветка дерева, а затем поверх неё рисуются нижележащие на дереве объекты на других ветках. Это же правило относится к последовательности рисования сцен. Если на экране несколько сцен, то они рисуются сверху вниз в соответствии с их порядком на дереве. Сама по себе сцена - это невидимый объект (контейнер). Поэтому, рисование сцены означает последовательное рисование всех объектов, которые в ней находятся.&lt;br /&gt;
&lt;br /&gt;
Попробуем во вьювере кликнуть на солнце, когда оно оказывается под головой духа слона.&lt;br /&gt;
Его форма не изменяется, так как картинка головы, хотя и является полупрозрачной, по умолчанию &amp;quot;не прокликивается&amp;quot;. Чтобы изменить ситуацию, закроем вьювер (крестик) и отредактируем поле свойств головы с именем &amp;quot;'''прокликиваемая'''&amp;quot;, поставив вместо 0 значение 1. Закончив редактирование поля (нажав Enter), сохраняем проект [[Файл:00 8.png]] и снова запускаем вьювер [[Файл:00 9.png]].&lt;br /&gt;
Теперь дух, как и положено астральным образованиям, пропускает клик сквозь себя.&lt;br /&gt;
&lt;br /&gt;
Порядок рисования объектов можно изменить, перетащив их по дереву в панели Layout.&lt;br /&gt;
Эта операция требует определенной сноровки. Наступим на имя объекта elephant_ghost и не отпуская мыши потащим его вверх. Когда он окажется над объектом bg, отпустим мышь. Он станет подобъектом фона,&lt;br /&gt;
что отобразится как сдвиг elephant_ghost вправо (у объекта фона bg слева появится стрелочка). Теперь снова схватим elephant_ghost и потащим чуть вниз и влево по дереву.&lt;br /&gt;
Когда указатель мыши окажется между объектами bg и move, появится длинная горизонтальная полоска. В этот момент отпускаем мышь, и наш дух размещается между этими объектами.&lt;br /&gt;
&lt;br /&gt;
Ниже на рисунке представлены оба варианта положения духа на дереве сцены (слева подобъект elephant_ghost в объекте bg, а справа равноправный с bg объект, но ниже по дереву и, следовательно, рисуемый позже):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:El.png]]&lt;br /&gt;
[[файл:El2.png]]&lt;br /&gt;
&lt;br /&gt;
С точки зрения отрисовки, оба эти варианта приведут к одинаковому результату.&lt;br /&gt;
Проверьте это, потренировавшись в таскании, сохранении и запуске вьювера. Подумайте также, почему так происходит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление объектов ===&lt;br /&gt;
&lt;br /&gt;
Откройте снова окно редактора ресурсов (скорее всего оно находится в свернутом состоянии в панели приложений). Расположите его над окном редактора сцен. Перетащите на сцену из папки lesson_1 какую-нибудь небольшую картинку (например, sun_1). Сверните редактор ресурсов. Новая картинка появилась на сцене и в дереве объектов панели Layout. Чтобы её удалить, нажмите правую кнопку мыши на объекте sun_1 в панели Layout. В вывалившемся меню выберете пункт '''Delete'''. Картинка исчезнет. Эквивалентно, объект можно удалить, кликнув на него в дереве и нажав на клавиатуре кнопку Del.&lt;br /&gt;
&lt;br /&gt;
Заметим, что если объект на сцене сделать активным (кликнув на него - зеленая рамка) и попытаться нажать Del, то ничего не произойдет. Сделано это умышленно. Дело в том, что при удалении уничтожается не только сам объект, но и все его подобъекты. Подобная иерархия видна только на дереве проекта. &lt;br /&gt;
&lt;br /&gt;
В качестве упражнения, поместите на сцену две картинки. Одну их них в дереве панели Layout перетащите на другую, сделав её подобъектом. Потаскайте мышкой по сцене обе картинки. Обратите внимание, что подобъект перемещается независимым образом. В тоже время при таскании корневого объекта начнут двигаться они оба. Координаты подобъекта задаются относительно его владельца. Поэтому при перемещении корневого объекта вместе с ним движутся и все подобъекты.&lt;br /&gt;
Теперь удалите сразу оба объекта, сделав активным  на дереве корневой объект и нажав затем на кнопку Del (или при помощи правой кнопки мыши).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Другие объекты ===&lt;br /&gt;
&lt;br /&gt;
На нашей сцене кроме картинок находятся еще два типа объектов - это кнопка и машина состояний. С кнопками мы будем работать уже на следующем [[Создание экранов, сцен. Работа с кнопками|уроке]], а машинам состояний посвящены сразу 3 урока, начиная с [[Checkbox как машина состояний|третьего]]. Пока наша задача состоит в их поиске в дереве проекта и первым знакомством с их свойствами.&lt;br /&gt;
&lt;br /&gt;
Кликнем на стрелочку слева от объекта move в панели Layout. Под ним раскроется подобъект с именем '''sun_1'''. Это кнопка. Сам же объект move является машиной состояния. Кроме указания соответствующего типа в панели Properties (посмотрите на него!), тип объекта помечается иконкой на дереве. Для машины - это шестеренка, а кнопка - это кнопка :).&lt;br /&gt;
&lt;br /&gt;
Кликнув на объект '''sun_1''', рассмотрим его свойства в панели Properties. Кроме уже знакомых по картинке (тип=image) полей, появился ряд других. Например, раскроем стрелочку свойства &amp;quot;'''внешний вид'''&amp;quot;. Там находятся несколько полей, из которых заполнены '''up''' и '''down'''. В них заданы имена картинок для изображения отжатой и нажатой кнопки. Как они там оказались выясним в следующем [[Создание экранов, сцен. Работа с кнопками|уроке]]. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь объект '''move'''. Не смотря на небольшое количество свойств, это один из самых универсальных и сложных объектов, позволяющих программировать динамическое поведение объектов и их логику. Чтобы краем глаза заглянуть на кухню этого процесса кликните на свойство '''states''', а затем на появившиеся три точки в этом поле. Выскочит следующее окошко:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:Mov prop.png]]            [[файл:Move.png]]&lt;br /&gt;
&lt;br /&gt;
Эта машина состояний, которая имеет одно состояние. В нём задана последовательность команд, которые управляют её движением по экрану. Сама машина в данном случае является невидимым объектом. Однако, она содержит в качестве подобъекта кнопку '''sun_1'''. Поэтому, когда машина move бегает по экрану, вместе с ней движется и кнопка. Клики на себя принимает кнопка, меняя при этом свой внешний вид. Несложно догадаться, что в результате получается солнышко.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
* Найдите две машины состояний, связанные со слонёнком, и попробуйте догадаться как они работают (ответы в следующих уроках).&lt;br /&gt;
* Откройте демонстрационный проект, находящийся в папке AppSaluteСreator/Projects/Demo/demо. Поиграйтесь с ним.&lt;br /&gt;
* Снова откройте учебный проект c которым мы работали (AppSaluteСreator/Projects/Lessons/lessons). Он нам понадобится для следующего урока.&lt;br /&gt;
* Затем переходите на [[Создание экранов, сцен. Работа с кнопками|урок 2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9070</id>
		<title>Введение в AppSalute Сreator</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9070"/>
		<updated>2017-09-22T13:36:24Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Открытие проекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
----&lt;br /&gt;
'''Цель:''' &lt;br /&gt;
познакомиться со средой разработки игр AppSalute Сreator.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* проинсталлировать AppSalute Сreator;&lt;br /&gt;
* открыть готовый проект в редакторе сцен;&lt;br /&gt;
* освоить взаимодействие редактора сцен и редактора ресурсов;&lt;br /&gt;
* изучить основные методы редактирования сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Для создания игр в AppSalute Сreator используются четыре взаимодействующих между собой приложения:&lt;br /&gt;
* [[Файл:Ico_main.png|40px]] '''[[Интерфейс ScenceEditor|Scene Editor]]''' - редактор игровых сцен (экранов), в котором происходит настройка свойств объектов и игровой логики. Это основной инструмент при разработке игры.&lt;br /&gt;
* [[Файл:Ico_base.png|40px]] '''[[Редактор ресурсов|Resources Editor]]''' - хранилище медиа-ресурсов (картинки, звуки, видео, анимация), использующихся в игре. Эти ресурсы при помощи мышки перетаскиваются на сцену в Scene Editor.&lt;br /&gt;
* [[Файл:Ico_text.png|40px]] '''[[Интерфейс TextEditor|Text Editor]]''' - хранилище всех текстовых ресурсов (надписей) на различных языках. Аналогично графике и звукам при помощи мышки они перетаскиваются в соответствующие свойства объектов, находящихся в Scene Editor. См. также [[Редактор текстовых ресурсов|Урок 6]]&lt;br /&gt;
* '''Viewer''' - проигрыватель созданной игры. Обычно запускается непосредственно из Scene Editor. Вы увидите, возможно сыграете, игру в том же виде, как и на любом мобильном устройстве.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Layout.png|right]]&lt;br /&gt;
Игра состоит из набора '''экранов'''. На каждом экране может находиться одна или несколько '''сцен'''.&lt;br /&gt;
Например, пусть на экране находится игровое поле и панель с интерфейсными кнопками. Эти две области можно оформить при помощи различных сцен. Первая сцена содержит игровые '''объекты''' редактора, например миниигры такие как puzzle и фоновую картинку. Вторая сцена содержит базовые элементы управления (кнопки, чекбоксы), универсальные машины состояний (программирующие логику) и т.д. &lt;br /&gt;
&lt;br /&gt;
Так как игра обычно запускается на различных устройствах (телефон, планшетник, десктоп), важным понятием является '''лейаут''' (layout). Условно - это различные мониторы, имеющие то или иное разрешение в пикселях и разное соотношение высоты и ширины. Игра может проектироваться только для одного лейаута, однако чаще поддерживается сразу несколько лейаутов: &lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson_1_layouts.png|400px]]&lt;br /&gt;
&lt;br /&gt;
В качестве примера справа на рисунке представлена структура некоторого проекта в лейауте с размерами экрана устройства 960x640 пикселей. На этом лейауте находятся экраны, из которых только один экран (pack1) развернут. Внутри него &lt;br /&gt;
находятся 2 сцены (stg_list1 и stg_main1). Одна сцена (stg_list1) раскрыта и содержит три игровых объекта. Последний из них (tbk_pack1) является сложным объектом, содержащим несколько других.&lt;br /&gt;
Таким образом, игровой проект можно представить как '''дерево''', на различных ветках которого находятся игровые объекты.&lt;br /&gt;
&lt;br /&gt;
Для начала работы с редактором его необходимо [[Установка и настройка|установить]], загрузив и запустив [[Downloads|инсталлятор]].&lt;br /&gt;
По умолчанию все необходимые программы будут размещены '''C:\Program Files\AppSalute Creator''' и материалы для уроков находятся в папке '''Мои Документы\Absolutist\Projects\lessons'''. При желании её можно в дальнейшем перенести в любое удобное место.&lt;br /&gt;
После инсталляции запускаем программу Scene Editor, найдя на рабочем столе или в списке приложений иконку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:icon_se.png]].&lt;br /&gt;
&lt;br /&gt;
== Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
=== Открытие проекта ===&lt;br /&gt;
	&lt;br /&gt;
Шаг первый. &lt;br /&gt;
Вверху окна редактора расположено общее меню и кнопки быстрого запуска:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Меню.png]]&lt;br /&gt;
&lt;br /&gt;
Если нажать пункт меню &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; (Проект), то выпадет список команд, с помощью которых можно [[Подготовка к работе &amp;quot;Создание проекта&amp;quot;|создать новый]] или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
&lt;br /&gt;
Откроем проект, на основании которого будут проходиться эти уроки. Для этого нажмём в меню пункты &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Open&amp;lt;/tt&amp;gt; или сразу кнопку быстрого доступа [[Файл:Открыть проект.png]]. Заходим в папку '''Мои документы/Absolutist/Projects/Lessons'''.&lt;br /&gt;
Внутри неё кликнем на файл '''lessons.seproj''' &lt;br /&gt;
&lt;br /&gt;
[[Файл:Seproj.JPG|400px]].&lt;br /&gt;
&lt;br /&gt;
В результате откроется проект, визуальная часть которого окажется в основной (центральной) части редактора. Чтобы увидеть что-то кроме белого экрана, необходимо на панели Layout, которая находится в правой верхней части экрана, кликнуть мышкой на строчку с надписью '''lesson_1''' (это первый игровой экран приложения). В результате мы должны увидеть:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Экран.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства проекта ===&lt;br /&gt;
&lt;br /&gt;
В правой части окна редактора расположены две панели '''Layout''' (лейаут) и '''Properties''' (свойства).&lt;br /&gt;
На панели Layout показано иерархическое дерево проекта, который пока состоит из одного игрового экрана lesson_1. Если кликнуть на стрелочку (или плюсик, или треугольник, в зависимости от Вашей ОС) слева от надписи lesson_1, то экран раскроется и мы увидим [[Проектирование_экранов_игры#Принципы_формирования_сцен_и_их_наполнения|сцену]], которая находится на [[Проектирование_экранов_игры|экране]]. Она называется lessons_1. Продолжая кликать на стрелочки, раскроем всю структуру этого проекта: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Лэйаут.png]]&lt;br /&gt;
&lt;br /&gt;
Наиболее простым объектом, находящимся в дереве проекта, является статическая картинка фона, которая называется '''bg'''. Если на неё кликнуть, то ниже в панели '''Properties''' можно увидеть параметры настройки этого объекта (его свойства):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Свойства.png]]&lt;br /&gt;
&lt;br /&gt;
Стоит &amp;quot;пораскрывать&amp;quot; ветки настроек объекта bg, нажимая на стрелочки (или плюсики, или треугольники) слева от имен полей. Если навести мышкой на имя поля, то появится краткая подсказка, поясняющий смысл свойства.&lt;br /&gt;
&lt;br /&gt;
Панели Layout и Properties могут перетаскиваться мышкой в произвольное место редактора,&lt;br /&gt;
располагаться одна под другой или объединяться в одну панель с двумя закладками снизу.&lt;br /&gt;
Если панели находятся одна под другой, можно мышкой изменить их относительную высоту. Для этого мышь располагаем между ними, пока она не изменит своей формы со стрелочки на сплиттер (две горизонтальные полоски). Затем, нажав на мышь, таскаем вверх-вниз границу между панелями.&lt;br /&gt;
&lt;br /&gt;
=== Проигрывание проекта ===&lt;br /&gt;
&lt;br /&gt;
В процессе разработки игрового проекта, игру в любой момент можно запустить в отдельном окне вьювера ('''Viewer''') для проверки. Для этого в дереве проекта (панель Layout) необходимо выбрать интересующий нас экран (с которого произойдёт запуск) и нажать кнопку [[Файл:Play111.png]] (или пункт меню &amp;lt;tt&amp;gt;Viewer&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Start Viewer&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В нашем случае мы увидим летающее над слонёнком солнышко. Оба объекта (и слонёнок, и солнышко) являются активными. Кликните сначала на голову слонёнка - она должна повернуться. Клик на тело слонёнка заставит его подпрыгнуть. При должной сноровке можно кликнуть также на летающее солнышко, что приведёт к кратковременному изменению его формы.&lt;br /&gt;
&lt;br /&gt;
Стоит запомнить три важных правила при работе с вьювером:&lt;br /&gt;
* Если приложение редактировалось, то перед запуском вьювера проект необходимо &amp;lt;u&amp;gt;сначала&amp;lt;/u&amp;gt; сохранить (меню: &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Save Project&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Всегда необходимо перед запуском вьювера выбирать экран, который начнёт проигрываться (сейчас такой экран пока один).&lt;br /&gt;
* После просмотра во вьювере игры, его необходимо закрыть, нажав (как обычно в Windows) крестик в правом верхнем углу окна.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки быстрого запуска ===&lt;br /&gt;
&lt;br /&gt;
Приведем для справки описание кнопок быстрого доступа к некоторым командам редактора сцен (более подробная информация будет предоставлена в последующих уроках):&lt;br /&gt;
&lt;br /&gt;
*[[Файл:00001.png]] — создать новый проект; &lt;br /&gt;
*[[Файл:Открыть проект.png]] — открыть уже созданный проект;&lt;br /&gt;
*[[Файл:00002.png]] — сохранить изменения в проекте; &lt;br /&gt;
*[[Файл:00003.png]] — нормальный вид; &lt;br /&gt;
*[[Файл:Play111.png]] —  запустить Viewer;&lt;br /&gt;
*[[Файл:000004.png]] — запустить Viewer с изменением времени; &lt;br /&gt;
*[[Файл:000005.png]] — очистить данные;&lt;br /&gt;
*[[Файл:00006.png]] — вызов редактора ресурсов;&lt;br /&gt;
*[[Файл:00007.png]] — вызов текстового редактора;&lt;br /&gt;
*[[Файл:00008.png]] — анализ использованных ресурсов;  &lt;br /&gt;
*[[Файл:00009.png]] — поиск объекта по имени или id;&lt;br /&gt;
*[[Файл:0000010.png]] — общие свойства объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Редактор ресурсов]] ==&lt;br /&gt;
&lt;br /&gt;
Второе важное приложение, это редактор ресурсов.&lt;br /&gt;
Так как мы открыли готовый проект, то с ним уже связана база графических ресурсов.&lt;br /&gt;
Чтобы её увидеть, нажмите кнопку [[Файл:00006.png|20px]] (или меню: &amp;lt;tt&amp;gt;Tools&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Resources Editor&amp;lt;/tt&amp;gt;).&lt;br /&gt;
Откроется новое окно, которое, на самом деле, является независимым приложением:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Редактор ресурсов111.png]]&lt;br /&gt;
&lt;br /&gt;
Как и в редакторе сцен, вверху окна редактора ресурсов расположено меню и кнопки быстрого доступа: создать базу ресурсов, открыть уже существующую, показать экспорт последних объектов, сохранить изменения в редакторе ресурсов, добавить картинку (png, jpeg), добавить картинку из папки, добавить анимацию, мелодию (mp3, ogg), видео (mp4).&lt;br /&gt;
Ниже, в левой панели, находятся папки, внутри которых можно найти различные графические ресурсы, которые мы будем использовать на протяжении этих уроков. Каждая папка названа по имени урока.&lt;br /&gt;
Кликнув на стрелочку (или плюсик, или треугольник) слева от папки lesson_1 мы увидим текстовый список из 8 картинок, находящихся в ранее запущенном приложении со слоненком и солнышком.&lt;br /&gt;
&lt;br /&gt;
Если в дереве папок активна данная папка, то на правой панели мы видим список графических ресурсов в виде иконок. Если же в дереве кликнуть на имя конкретной картинки, то в правой панели она будет представлена в натуральную величину. Если кликнуть правой кнопкой мыши на конкретный ресурс отобразится всплывающее подменю, которое аналогично кнопкам быстрого доступа, за исключением одного пункта - &amp;lt;tt&amp;gt;Заменить изображение...&amp;lt;/tt&amp;gt;. Замену изображений необходимо делать через всплывающее подменю.&lt;br /&gt;
&lt;br /&gt;
Текущее приложение содержит фоновую картинку (bg), три картинки частей слонёнка (elephant_body, elephant_head_1, elephant_head_2) и 4 картинки с различным видом солнышка. &lt;br /&gt;
&lt;br /&gt;
Так как редактор ресурсов является отдельным приложением, он может оказаться под окном редактора сцен. Это не всегда удобно, поэтому зайдем в пункт меню &amp;lt;tt&amp;gt;'''View'''&amp;lt;/tt&amp;gt; редактора ресурсов и поставим галочку у пункта &amp;lt;tt&amp;gt;'''Always on Top'''&amp;lt;/tt&amp;gt;. Теперь редактор ресурсов окажется поверх редактора сцен (как впрочем, и поверх всех остальных окон). Естественно, галочку можно в любой момент снять или свернуть окно редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
Размер окна редактора ресурсов можно изменять мышкой, схватившись за правый нижний угол окна.&lt;br /&gt;
Правую панель, которая выводит картинки, можно “перетащить” в любое место окна редактора ресурсов (для этого необходимо потянуть за её заголовок). Чтобы вернуть панель на фиксированное место, необходимо дважды кликнуть на её заголовке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование сцены ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление на сцену ===&lt;br /&gt;
&lt;br /&gt;
Разберемся, как на сцену добавляются новые объекты. Предполагается, что мы одновременно видим окна обоих редакторов. Убедимся, что в панели проекта (Layout) редактора сцен активна текущая сцена lessons_1. Не путайте её с экраном lesson_1, находящимся выше. Рядом с каждым объектом в дереве ресурсов находится иконка, отражающая тип объекта. Рядом с экраном изображено, что-то похожее на фотоаппарат, а рядом со сценой - чистый лист бумаги. &lt;br /&gt;
 &lt;br /&gt;
Нажав мышкой на иконку головы слонёнка в '''редакторе ресурсов''', перетащим её на сцену в '''редактор сцен''', где кнопку мышки отпустим:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Add picture.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Теперь окно редактора ресурсов можно свернуть, чтобы оно не мешало. &lt;br /&gt;
На сцене мы видим одного полноценного слонёнка и отдельно парящую голову.&lt;br /&gt;
В списке объектов (панель Layout) добавился объект elephant_head_2. &lt;br /&gt;
Его имя по умолчанию совпадает с именем картинки в редакторе ресурсов.&lt;br /&gt;
Если оно не достаточно точно выражает назначение этого объекта, то его '''необходимо'''&lt;br /&gt;
изменить в панели Properties (предполагается, что на дереве объектов эта голова сейчас выбрана).&lt;br /&gt;
Переименуем её, например, в elephant_ghost (дух слонёнка). Для этого кликнем справа от поля '''имя''' в панели Properties и введем новое название. После окончания редактирования нажимаем Enter. Одновременно с этим изменилось имя на дереве объектов (Layout).&lt;br /&gt;
Стоит всегда придерживаться следующего правила:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Необходимо присваивать объектам в проекте осмысленные имена, отражающие их роль и функции. Это относится также к именам экранов и сцен.'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Названия объектов могут повторяться, но это плохой тон. В частности, неудачным примером названий в этом проекте служат похожие имена экрана (lesson_1) и сцены (lessons_1). Плохое имя (move) у летающего солнышка (лучше было бы fly_sun). &lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что добавленная голова имеет тип '''image''' (первое поле в панели Properties).&lt;br /&gt;
Большинство объектов в начале имеют такой тип. Далее он меняется в зависимости от функциональности объекта (подробнее об этом в следующих уроках).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Совет''': Переименовывать объекты можно непосредственно в панели Layout, после двойного клика мышкой на имя этого объекта. Редактирование завершается нажатием клавиши Enter.  &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Изменение положения ===&lt;br /&gt;
&lt;br /&gt;
На сцене вокруг добавленной головы находится &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;зелёная прямоугольная рамка&amp;lt;/span&amp;gt; (объект активен). &lt;br /&gt;
Если она &amp;lt;span style=&amp;quot;color:#770000&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt;, необходимо кликнуть на объект (голову) и он станет активным.&lt;br /&gt;
Заметим, что при клике на объекте меняется не только цвет рамки, &lt;br /&gt;
но и активный объект на дереве объектов (Layout). Соответственно в панели Properties показываются его свойства.&lt;br /&gt;
Стоит покликать на различные объекты на сцене и на дереве проекта, наблюдая одним глазом за их рамкой, а другим за панелями проекта и свойств. В заключении этого увлекательного упражнения необходимо снова сделать активной голову.&lt;br /&gt;
&lt;br /&gt;
Активный объект можно таскать мышкой по экрану, задав ему требуемое положение (не оторвите только голову исходному слоненку). Стоит раскрыть свойство &amp;quot;'''положение'''&amp;quot; в панели Properties и понаблюдать, как при таскании головы меняются её координаты. &lt;br /&gt;
Начало координат (точка x=0, y=0) расположено в центре сцены. Горизонтальная ось x направлена вправо, а вертикальная ось y - вниз. Если объект находится ниже центра сцены, он будет иметь положительное значение y, а если выше, то отрицательное.&lt;br /&gt;
Естественно, положение объекта можно изменить и при помощи прямого редактирования полей '''x''', '''y''' свойства &amp;quot;'''положение'''&amp;quot;. Перетащите голову в правый верхний угол сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Модификаторы ===&lt;br /&gt;
&lt;br /&gt;
Будем считать, что добавленная голова слона - это дух предков исходного слонёнка.&lt;br /&gt;
Духу положено быть полупрозрачным. Это достигается изменением &lt;br /&gt;
свойства '''alpha''' в группе '''модификаторы''' на панели свойств (Properties).&lt;br /&gt;
Изменим исходное значение 1.00 (непрозрачен) на 0.5 (полупрозрачен).&lt;br /&gt;
Значение alpha=0 соответствует полной невидимости объекта (возможно любое значение между 0 и 1).&lt;br /&gt;
Обратим внимание, что десятичная точка является именно точкой, а не запятой, как всё ещё учат на 1/6 части суши. Впрочем, если в вашей операционной системе в языковых настройках стоит русский язык, Вы увидите привычную запятую, вместо десятичной точки. &lt;br /&gt;
&lt;br /&gt;
Дополнительно в разделе '''модификаторы''' можно изменить угол ('''angle''') в градусах (поставьте, например -30)&lt;br /&gt;
и масштаб картинки (поля '''scale x''' и '''scale y'''). Исходная картинка имеет единичный масштаб, т.е. на сцене выглядит также, как и в редакторе ресурсов. Если масштаб увеличить, то увеличится и картинка (это можно сделать независимо по ширине и высоте). &lt;br /&gt;
Соответственно, значение меньшее 1 (но большее нуля) её уменьшит.&lt;br /&gt;
Отрицательное значение масштаба переворачивает картинку. Задайте scale_x=-2 и scale_y=2.&lt;br /&gt;
В результате должно получиться что-то типа:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mod.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что при сильном масштабировании (scale) могут появляться дефекты картинки (квадратики пикселей), поэтому злоупотреблять большими значениями, обычно, не стоит.&lt;br /&gt;
&lt;br /&gt;
=== Z - порядок объектов ===&lt;br /&gt;
&lt;br /&gt;
Пришло время посмотреть, что у нас получилось. Для этого сохраняем все изменения &lt;br /&gt;
[[Файл:00 8.png]] (нажав кнопку Ok на выскочившем окошке).&lt;br /&gt;
Затем запускаем вьювер [[Файл:00 9.png]]. Понаблюдаем за солнцем. Оно движется над фоновой&lt;br /&gt;
картинкой &amp;quot;'''bg'''&amp;quot;, но ''под'' головой духа слона (он должен, естественно, находится в верхней части сцены). Такая последовательность прорисовки связана с порядком объектов в дереве на панели Layout. Отрисовка происходит сверху вниз (сначала bg, затем move и т.д.). Это правило является иерархическим. Если на дереве находятся объекты, содержащие другие объекты, то сначала рисуется вся эта ветка дерева, а затем поверх неё рисуются нижележащие на дереве объекты на других ветках. Это же правило относится к последовательности рисования сцен. Если на экране несколько сцен, то они рисуются сверху вниз в соответствии с их порядком на дереве. Сама по себе сцена - это невидимый объект (контейнер). Поэтому, рисование сцены означает последовательное рисование всех объектов, которые в ней находятся.&lt;br /&gt;
&lt;br /&gt;
Попробуем во вьювере кликнуть на солнце, когда оно оказывается под головой духа слона.&lt;br /&gt;
Его форма не изменяется, так как картинка головы, хотя и является полупрозрачной, по умолчанию &amp;quot;не прокликивается&amp;quot;. Чтобы изменить ситуацию, закроем вьювер (крестик) и отредактируем поле свойств головы с именем &amp;quot;'''прокликиваемая'''&amp;quot;, поставив вместо 0 значение 1. Закончив редактирование поля (нажав Enter), сохраняем проект [[Файл:00 8.png]] и снова запускаем вьювер [[Файл:00 9.png]].&lt;br /&gt;
Теперь дух, как и положено астральным образованиям, пропускает клик сквозь себя.&lt;br /&gt;
&lt;br /&gt;
Порядок рисования объектов можно изменить, перетащив их по дереву в панели Layout.&lt;br /&gt;
Эта операция требует определенной сноровки. Наступим на имя объекта elephant_ghost и не отпуская мыши потащим его вверх. Когда он окажется над объектом bg, отпустим мышь. Он станет подобъектом фона,&lt;br /&gt;
что отобразится как сдвиг elephant_ghost вправо (у объекта фона bg слева появится стрелочка). Теперь снова схватим elephant_ghost и потащим чуть вниз и влево по дереву.&lt;br /&gt;
Когда указатель мыши окажется между объектами bg и move, появится длинная горизонтальная полоска. В этот момент отпускаем мышь, и наш дух размещается между этими объектами.&lt;br /&gt;
&lt;br /&gt;
Ниже на рисунке представлены оба варианта положения духа на дереве сцены (слева подобъект elephant_ghost в объекте bg, а справа равноправный с bg объект, но ниже по дереву и, следовательно, рисуемый позже):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:El.png]]&lt;br /&gt;
[[файл:El2.png]]&lt;br /&gt;
&lt;br /&gt;
С точки зрения отрисовки, оба эти варианта приведут к одинаковому результату.&lt;br /&gt;
Проверьте это, потренировавшись в таскании, сохранении и запуске вьювера. Подумайте также, почему так происходит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление объектов ===&lt;br /&gt;
&lt;br /&gt;
Откройте снова окно редактора ресурсов (скорее всего оно находится в свернутом состоянии в панели приложений). Расположите его над окном редактора сцен. Перетащите на сцену из папки lesson_1 какую-нибудь небольшую картинку (например, sun_1). Сверните редактор ресурсов. Новая картинка появилась на сцене и в дереве объектов панели Layout. Чтобы её удалить, нажмите правую кнопку мыши на объекте sun_1 в панели Layout. В вывалившемся меню выберете пункт '''Delete'''. Картинка исчезнет. Эквивалентно, объект можно удалить, кликнув на него в дереве и нажав на клавиатуре кнопку Del.&lt;br /&gt;
&lt;br /&gt;
Заметим, что если объект на сцене сделать активным (кликнув на него - зеленая рамка) и попытаться нажать Del, то ничего не произойдет. Сделано это умышленно. Дело в том, что при удалении уничтожается не только сам объект, но и все его подобъекты. Подобная иерархия видна только на дереве проекта. &lt;br /&gt;
&lt;br /&gt;
В качестве упражнения, поместите на сцену две картинки. Одну их них в дереве панели Layout перетащите на другую, сделав её подобъектом. Потаскайте мышкой по сцене обе картинки. Обратите внимание, что подобъект перемещается независимым образом. В тоже время при таскании корневого объекта начнут двигаться они оба. Координаты подобъекта задаются относительно его владельца. Поэтому при перемещении корневого объекта вместе с ним движутся и все подобъекты.&lt;br /&gt;
Теперь удалите сразу оба объекта, сделав активным  на дереве корневой объект и нажав затем на кнопку Del (или при помощи правой кнопки мыши).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Другие объекты ===&lt;br /&gt;
&lt;br /&gt;
На нашей сцене кроме картинок находятся еще два типа объектов - это кнопка и машина состояний. С кнопками мы будем работать уже на следующем [[Создание экранов, сцен. Работа с кнопками|уроке]], а машинам состояний посвящены сразу 3 урока, начиная с [[Checkbox как машина состояний|третьего]]. Пока наша задача состоит в их поиске в дереве проекта и первым знакомством с их свойствами.&lt;br /&gt;
&lt;br /&gt;
Кликнем на стрелочку слева от объекта move в панели Layout. Под ним раскроется подобъект с именем '''sun_1'''. Это кнопка. Сам же объект move является машиной состояния. Кроме указания соответствующего типа в панели Properties (посмотрите на него!), тип объекта помечается иконкой на дереве. Для машины - это шестеренка, а кнопка - это кнопка :).&lt;br /&gt;
&lt;br /&gt;
Кликнув на объект '''sun_1''', рассмотрим его свойства в панели Properties. Кроме уже знакомых по картинке (тип=image) полей, появился ряд других. Например, раскроем стрелочку свойства &amp;quot;'''внешний вид'''&amp;quot;. Там находятся несколько полей, из которых заполнены '''up''' и '''down'''. В них заданы имена картинок для изображения отжатой и нажатой кнопки. Как они там оказались выясним в следующем [[Создание экранов, сцен. Работа с кнопками|уроке]]. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь объект '''move'''. Не смотря на небольшое количество свойств, это один из самых универсальных и сложных объектов, позволяющих программировать динамическое поведение объектов и их логику. Чтобы краем глаза заглянуть на кухню этого процесса кликните на свойство '''states''', а затем на появившиеся три точки в этом поле. Выскочит следующее окошко:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:Mov prop.png]]            [[файл:Move.png]]&lt;br /&gt;
&lt;br /&gt;
Эта машина состояний, которая имеет одно состояние. В нём задана последовательность команд, которые управляют её движением по экрану. Сама машина в данном случае является невидимым объектом. Однако, она содержит в качестве подобъекта кнопку '''sun_1'''. Поэтому, когда машина move бегает по экрану, вместе с ней движется и кнопка. Клики на себя принимает кнопка, меняя при этом свой внешний вид. Несложно догадаться, что в результате получается солнышко.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
* Найдите две машины состояний, связанные со слонёнком, и попробуйте догадаться как они работают (ответы в следующих уроках).&lt;br /&gt;
* Откройте демонстрационный проект, находящийся в папке AppSaluteСreator/Projects/Demo/demо. Поиграйтесь с ним.&lt;br /&gt;
* Снова откройте учебный проект c которым мы работали (AppSaluteСreator/Projects/Lessons/lessons). Он нам понадобится для следующего урока.&lt;br /&gt;
* Затем переходите на [[Создание экранов, сцен. Работа с кнопками|урок 2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9069</id>
		<title>Введение в AppSalute Сreator</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9069"/>
		<updated>2017-09-22T13:36:11Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: /* Открытие проекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
----&lt;br /&gt;
'''Цель:''' &lt;br /&gt;
познакомиться со средой разработки игр AppSalute Сreator.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* проинсталлировать AppSalute Сreator;&lt;br /&gt;
* открыть готовый проект в редакторе сцен;&lt;br /&gt;
* освоить взаимодействие редактора сцен и редактора ресурсов;&lt;br /&gt;
* изучить основные методы редактирования сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Для создания игр в AppSalute Сreator используются четыре взаимодействующих между собой приложения:&lt;br /&gt;
* [[Файл:Ico_main.png|40px]] '''[[Интерфейс ScenceEditor|Scene Editor]]''' - редактор игровых сцен (экранов), в котором происходит настройка свойств объектов и игровой логики. Это основной инструмент при разработке игры.&lt;br /&gt;
* [[Файл:Ico_base.png|40px]] '''[[Редактор ресурсов|Resources Editor]]''' - хранилище медиа-ресурсов (картинки, звуки, видео, анимация), использующихся в игре. Эти ресурсы при помощи мышки перетаскиваются на сцену в Scene Editor.&lt;br /&gt;
* [[Файл:Ico_text.png|40px]] '''[[Интерфейс TextEditor|Text Editor]]''' - хранилище всех текстовых ресурсов (надписей) на различных языках. Аналогично графике и звукам при помощи мышки они перетаскиваются в соответствующие свойства объектов, находящихся в Scene Editor. См. также [[Редактор текстовых ресурсов|Урок 6]]&lt;br /&gt;
* '''Viewer''' - проигрыватель созданной игры. Обычно запускается непосредственно из Scene Editor. Вы увидите, возможно сыграете, игру в том же виде, как и на любом мобильном устройстве.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Layout.png|right]]&lt;br /&gt;
Игра состоит из набора '''экранов'''. На каждом экране может находиться одна или несколько '''сцен'''.&lt;br /&gt;
Например, пусть на экране находится игровое поле и панель с интерфейсными кнопками. Эти две области можно оформить при помощи различных сцен. Первая сцена содержит игровые '''объекты''' редактора, например миниигры такие как puzzle и фоновую картинку. Вторая сцена содержит базовые элементы управления (кнопки, чекбоксы), универсальные машины состояний (программирующие логику) и т.д. &lt;br /&gt;
&lt;br /&gt;
Так как игра обычно запускается на различных устройствах (телефон, планшетник, десктоп), важным понятием является '''лейаут''' (layout). Условно - это различные мониторы, имеющие то или иное разрешение в пикселях и разное соотношение высоты и ширины. Игра может проектироваться только для одного лейаута, однако чаще поддерживается сразу несколько лейаутов: &lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson_1_layouts.png|400px]]&lt;br /&gt;
&lt;br /&gt;
В качестве примера справа на рисунке представлена структура некоторого проекта в лейауте с размерами экрана устройства 960x640 пикселей. На этом лейауте находятся экраны, из которых только один экран (pack1) развернут. Внутри него &lt;br /&gt;
находятся 2 сцены (stg_list1 и stg_main1). Одна сцена (stg_list1) раскрыта и содержит три игровых объекта. Последний из них (tbk_pack1) является сложным объектом, содержащим несколько других.&lt;br /&gt;
Таким образом, игровой проект можно представить как '''дерево''', на различных ветках которого находятся игровые объекты.&lt;br /&gt;
&lt;br /&gt;
Для начала работы с редактором его необходимо [[Установка и настройка|установить]], загрузив и запустив [[Downloads|инсталлятор]].&lt;br /&gt;
По умолчанию все необходимые программы будут размещены '''C:\Program Files\AppSalute Creator''' и материалы для уроков находятся в папке '''Мои Документы\Absolutist\Projects\lessons'''. При желании её можно в дальнейшем перенести в любое удобное место.&lt;br /&gt;
После инсталляции запускаем программу Scene Editor, найдя на рабочем столе или в списке приложений иконку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:icon_se.png]].&lt;br /&gt;
&lt;br /&gt;
== Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
=== Открытие проекта ===&lt;br /&gt;
	&lt;br /&gt;
Шаг первый. &lt;br /&gt;
Вверху окна редактора расположено общее меню и кнопки быстрого запуска:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Меню.png]]&lt;br /&gt;
&lt;br /&gt;
Если нажать пункт меню &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; (Проект), то выпадет список команд, с помощью которых можно [[Подготовка к работе &amp;quot;Создание проекта&amp;quot;|создать новый]] или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
&lt;br /&gt;
Откроем проект, на основании которого будут проходиться эти уроки. Для этого нажмём в меню пункты &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Open&amp;lt;/tt&amp;gt; или сразу кнопку быстрого доступа [[Файл:Открыть проект.png]]. Заходим в папку '''Мои документы/Absolutist/Projects/Lessons'''.&lt;br /&gt;
Внутри неё кликнем на файл '''lessons.seproj''' &lt;br /&gt;
&lt;br /&gt;
[[Файл:Seproj.JPG|300px]].&lt;br /&gt;
&lt;br /&gt;
В результате откроется проект, визуальная часть которого окажется в основной (центральной) части редактора. Чтобы увидеть что-то кроме белого экрана, необходимо на панели Layout, которая находится в правой верхней части экрана, кликнуть мышкой на строчку с надписью '''lesson_1''' (это первый игровой экран приложения). В результате мы должны увидеть:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Экран.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства проекта ===&lt;br /&gt;
&lt;br /&gt;
В правой части окна редактора расположены две панели '''Layout''' (лейаут) и '''Properties''' (свойства).&lt;br /&gt;
На панели Layout показано иерархическое дерево проекта, который пока состоит из одного игрового экрана lesson_1. Если кликнуть на стрелочку (или плюсик, или треугольник, в зависимости от Вашей ОС) слева от надписи lesson_1, то экран раскроется и мы увидим [[Проектирование_экранов_игры#Принципы_формирования_сцен_и_их_наполнения|сцену]], которая находится на [[Проектирование_экранов_игры|экране]]. Она называется lessons_1. Продолжая кликать на стрелочки, раскроем всю структуру этого проекта: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Лэйаут.png]]&lt;br /&gt;
&lt;br /&gt;
Наиболее простым объектом, находящимся в дереве проекта, является статическая картинка фона, которая называется '''bg'''. Если на неё кликнуть, то ниже в панели '''Properties''' можно увидеть параметры настройки этого объекта (его свойства):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Свойства.png]]&lt;br /&gt;
&lt;br /&gt;
Стоит &amp;quot;пораскрывать&amp;quot; ветки настроек объекта bg, нажимая на стрелочки (или плюсики, или треугольники) слева от имен полей. Если навести мышкой на имя поля, то появится краткая подсказка, поясняющий смысл свойства.&lt;br /&gt;
&lt;br /&gt;
Панели Layout и Properties могут перетаскиваться мышкой в произвольное место редактора,&lt;br /&gt;
располагаться одна под другой или объединяться в одну панель с двумя закладками снизу.&lt;br /&gt;
Если панели находятся одна под другой, можно мышкой изменить их относительную высоту. Для этого мышь располагаем между ними, пока она не изменит своей формы со стрелочки на сплиттер (две горизонтальные полоски). Затем, нажав на мышь, таскаем вверх-вниз границу между панелями.&lt;br /&gt;
&lt;br /&gt;
=== Проигрывание проекта ===&lt;br /&gt;
&lt;br /&gt;
В процессе разработки игрового проекта, игру в любой момент можно запустить в отдельном окне вьювера ('''Viewer''') для проверки. Для этого в дереве проекта (панель Layout) необходимо выбрать интересующий нас экран (с которого произойдёт запуск) и нажать кнопку [[Файл:Play111.png]] (или пункт меню &amp;lt;tt&amp;gt;Viewer&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Start Viewer&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В нашем случае мы увидим летающее над слонёнком солнышко. Оба объекта (и слонёнок, и солнышко) являются активными. Кликните сначала на голову слонёнка - она должна повернуться. Клик на тело слонёнка заставит его подпрыгнуть. При должной сноровке можно кликнуть также на летающее солнышко, что приведёт к кратковременному изменению его формы.&lt;br /&gt;
&lt;br /&gt;
Стоит запомнить три важных правила при работе с вьювером:&lt;br /&gt;
* Если приложение редактировалось, то перед запуском вьювера проект необходимо &amp;lt;u&amp;gt;сначала&amp;lt;/u&amp;gt; сохранить (меню: &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Save Project&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Всегда необходимо перед запуском вьювера выбирать экран, который начнёт проигрываться (сейчас такой экран пока один).&lt;br /&gt;
* После просмотра во вьювере игры, его необходимо закрыть, нажав (как обычно в Windows) крестик в правом верхнем углу окна.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки быстрого запуска ===&lt;br /&gt;
&lt;br /&gt;
Приведем для справки описание кнопок быстрого доступа к некоторым командам редактора сцен (более подробная информация будет предоставлена в последующих уроках):&lt;br /&gt;
&lt;br /&gt;
*[[Файл:00001.png]] — создать новый проект; &lt;br /&gt;
*[[Файл:Открыть проект.png]] — открыть уже созданный проект;&lt;br /&gt;
*[[Файл:00002.png]] — сохранить изменения в проекте; &lt;br /&gt;
*[[Файл:00003.png]] — нормальный вид; &lt;br /&gt;
*[[Файл:Play111.png]] —  запустить Viewer;&lt;br /&gt;
*[[Файл:000004.png]] — запустить Viewer с изменением времени; &lt;br /&gt;
*[[Файл:000005.png]] — очистить данные;&lt;br /&gt;
*[[Файл:00006.png]] — вызов редактора ресурсов;&lt;br /&gt;
*[[Файл:00007.png]] — вызов текстового редактора;&lt;br /&gt;
*[[Файл:00008.png]] — анализ использованных ресурсов;  &lt;br /&gt;
*[[Файл:00009.png]] — поиск объекта по имени или id;&lt;br /&gt;
*[[Файл:0000010.png]] — общие свойства объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Редактор ресурсов]] ==&lt;br /&gt;
&lt;br /&gt;
Второе важное приложение, это редактор ресурсов.&lt;br /&gt;
Так как мы открыли готовый проект, то с ним уже связана база графических ресурсов.&lt;br /&gt;
Чтобы её увидеть, нажмите кнопку [[Файл:00006.png|20px]] (или меню: &amp;lt;tt&amp;gt;Tools&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Resources Editor&amp;lt;/tt&amp;gt;).&lt;br /&gt;
Откроется новое окно, которое, на самом деле, является независимым приложением:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Редактор ресурсов111.png]]&lt;br /&gt;
&lt;br /&gt;
Как и в редакторе сцен, вверху окна редактора ресурсов расположено меню и кнопки быстрого доступа: создать базу ресурсов, открыть уже существующую, показать экспорт последних объектов, сохранить изменения в редакторе ресурсов, добавить картинку (png, jpeg), добавить картинку из папки, добавить анимацию, мелодию (mp3, ogg), видео (mp4).&lt;br /&gt;
Ниже, в левой панели, находятся папки, внутри которых можно найти различные графические ресурсы, которые мы будем использовать на протяжении этих уроков. Каждая папка названа по имени урока.&lt;br /&gt;
Кликнув на стрелочку (или плюсик, или треугольник) слева от папки lesson_1 мы увидим текстовый список из 8 картинок, находящихся в ранее запущенном приложении со слоненком и солнышком.&lt;br /&gt;
&lt;br /&gt;
Если в дереве папок активна данная папка, то на правой панели мы видим список графических ресурсов в виде иконок. Если же в дереве кликнуть на имя конкретной картинки, то в правой панели она будет представлена в натуральную величину. Если кликнуть правой кнопкой мыши на конкретный ресурс отобразится всплывающее подменю, которое аналогично кнопкам быстрого доступа, за исключением одного пункта - &amp;lt;tt&amp;gt;Заменить изображение...&amp;lt;/tt&amp;gt;. Замену изображений необходимо делать через всплывающее подменю.&lt;br /&gt;
&lt;br /&gt;
Текущее приложение содержит фоновую картинку (bg), три картинки частей слонёнка (elephant_body, elephant_head_1, elephant_head_2) и 4 картинки с различным видом солнышка. &lt;br /&gt;
&lt;br /&gt;
Так как редактор ресурсов является отдельным приложением, он может оказаться под окном редактора сцен. Это не всегда удобно, поэтому зайдем в пункт меню &amp;lt;tt&amp;gt;'''View'''&amp;lt;/tt&amp;gt; редактора ресурсов и поставим галочку у пункта &amp;lt;tt&amp;gt;'''Always on Top'''&amp;lt;/tt&amp;gt;. Теперь редактор ресурсов окажется поверх редактора сцен (как впрочем, и поверх всех остальных окон). Естественно, галочку можно в любой момент снять или свернуть окно редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
Размер окна редактора ресурсов можно изменять мышкой, схватившись за правый нижний угол окна.&lt;br /&gt;
Правую панель, которая выводит картинки, можно “перетащить” в любое место окна редактора ресурсов (для этого необходимо потянуть за её заголовок). Чтобы вернуть панель на фиксированное место, необходимо дважды кликнуть на её заголовке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование сцены ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление на сцену ===&lt;br /&gt;
&lt;br /&gt;
Разберемся, как на сцену добавляются новые объекты. Предполагается, что мы одновременно видим окна обоих редакторов. Убедимся, что в панели проекта (Layout) редактора сцен активна текущая сцена lessons_1. Не путайте её с экраном lesson_1, находящимся выше. Рядом с каждым объектом в дереве ресурсов находится иконка, отражающая тип объекта. Рядом с экраном изображено, что-то похожее на фотоаппарат, а рядом со сценой - чистый лист бумаги. &lt;br /&gt;
 &lt;br /&gt;
Нажав мышкой на иконку головы слонёнка в '''редакторе ресурсов''', перетащим её на сцену в '''редактор сцен''', где кнопку мышки отпустим:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Add picture.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Теперь окно редактора ресурсов можно свернуть, чтобы оно не мешало. &lt;br /&gt;
На сцене мы видим одного полноценного слонёнка и отдельно парящую голову.&lt;br /&gt;
В списке объектов (панель Layout) добавился объект elephant_head_2. &lt;br /&gt;
Его имя по умолчанию совпадает с именем картинки в редакторе ресурсов.&lt;br /&gt;
Если оно не достаточно точно выражает назначение этого объекта, то его '''необходимо'''&lt;br /&gt;
изменить в панели Properties (предполагается, что на дереве объектов эта голова сейчас выбрана).&lt;br /&gt;
Переименуем её, например, в elephant_ghost (дух слонёнка). Для этого кликнем справа от поля '''имя''' в панели Properties и введем новое название. После окончания редактирования нажимаем Enter. Одновременно с этим изменилось имя на дереве объектов (Layout).&lt;br /&gt;
Стоит всегда придерживаться следующего правила:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Необходимо присваивать объектам в проекте осмысленные имена, отражающие их роль и функции. Это относится также к именам экранов и сцен.'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Названия объектов могут повторяться, но это плохой тон. В частности, неудачным примером названий в этом проекте служат похожие имена экрана (lesson_1) и сцены (lessons_1). Плохое имя (move) у летающего солнышка (лучше было бы fly_sun). &lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что добавленная голова имеет тип '''image''' (первое поле в панели Properties).&lt;br /&gt;
Большинство объектов в начале имеют такой тип. Далее он меняется в зависимости от функциональности объекта (подробнее об этом в следующих уроках).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Совет''': Переименовывать объекты можно непосредственно в панели Layout, после двойного клика мышкой на имя этого объекта. Редактирование завершается нажатием клавиши Enter.  &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Изменение положения ===&lt;br /&gt;
&lt;br /&gt;
На сцене вокруг добавленной головы находится &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;зелёная прямоугольная рамка&amp;lt;/span&amp;gt; (объект активен). &lt;br /&gt;
Если она &amp;lt;span style=&amp;quot;color:#770000&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt;, необходимо кликнуть на объект (голову) и он станет активным.&lt;br /&gt;
Заметим, что при клике на объекте меняется не только цвет рамки, &lt;br /&gt;
но и активный объект на дереве объектов (Layout). Соответственно в панели Properties показываются его свойства.&lt;br /&gt;
Стоит покликать на различные объекты на сцене и на дереве проекта, наблюдая одним глазом за их рамкой, а другим за панелями проекта и свойств. В заключении этого увлекательного упражнения необходимо снова сделать активной голову.&lt;br /&gt;
&lt;br /&gt;
Активный объект можно таскать мышкой по экрану, задав ему требуемое положение (не оторвите только голову исходному слоненку). Стоит раскрыть свойство &amp;quot;'''положение'''&amp;quot; в панели Properties и понаблюдать, как при таскании головы меняются её координаты. &lt;br /&gt;
Начало координат (точка x=0, y=0) расположено в центре сцены. Горизонтальная ось x направлена вправо, а вертикальная ось y - вниз. Если объект находится ниже центра сцены, он будет иметь положительное значение y, а если выше, то отрицательное.&lt;br /&gt;
Естественно, положение объекта можно изменить и при помощи прямого редактирования полей '''x''', '''y''' свойства &amp;quot;'''положение'''&amp;quot;. Перетащите голову в правый верхний угол сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Модификаторы ===&lt;br /&gt;
&lt;br /&gt;
Будем считать, что добавленная голова слона - это дух предков исходного слонёнка.&lt;br /&gt;
Духу положено быть полупрозрачным. Это достигается изменением &lt;br /&gt;
свойства '''alpha''' в группе '''модификаторы''' на панели свойств (Properties).&lt;br /&gt;
Изменим исходное значение 1.00 (непрозрачен) на 0.5 (полупрозрачен).&lt;br /&gt;
Значение alpha=0 соответствует полной невидимости объекта (возможно любое значение между 0 и 1).&lt;br /&gt;
Обратим внимание, что десятичная точка является именно точкой, а не запятой, как всё ещё учат на 1/6 части суши. Впрочем, если в вашей операционной системе в языковых настройках стоит русский язык, Вы увидите привычную запятую, вместо десятичной точки. &lt;br /&gt;
&lt;br /&gt;
Дополнительно в разделе '''модификаторы''' можно изменить угол ('''angle''') в градусах (поставьте, например -30)&lt;br /&gt;
и масштаб картинки (поля '''scale x''' и '''scale y'''). Исходная картинка имеет единичный масштаб, т.е. на сцене выглядит также, как и в редакторе ресурсов. Если масштаб увеличить, то увеличится и картинка (это можно сделать независимо по ширине и высоте). &lt;br /&gt;
Соответственно, значение меньшее 1 (но большее нуля) её уменьшит.&lt;br /&gt;
Отрицательное значение масштаба переворачивает картинку. Задайте scale_x=-2 и scale_y=2.&lt;br /&gt;
В результате должно получиться что-то типа:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mod.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что при сильном масштабировании (scale) могут появляться дефекты картинки (квадратики пикселей), поэтому злоупотреблять большими значениями, обычно, не стоит.&lt;br /&gt;
&lt;br /&gt;
=== Z - порядок объектов ===&lt;br /&gt;
&lt;br /&gt;
Пришло время посмотреть, что у нас получилось. Для этого сохраняем все изменения &lt;br /&gt;
[[Файл:00 8.png]] (нажав кнопку Ok на выскочившем окошке).&lt;br /&gt;
Затем запускаем вьювер [[Файл:00 9.png]]. Понаблюдаем за солнцем. Оно движется над фоновой&lt;br /&gt;
картинкой &amp;quot;'''bg'''&amp;quot;, но ''под'' головой духа слона (он должен, естественно, находится в верхней части сцены). Такая последовательность прорисовки связана с порядком объектов в дереве на панели Layout. Отрисовка происходит сверху вниз (сначала bg, затем move и т.д.). Это правило является иерархическим. Если на дереве находятся объекты, содержащие другие объекты, то сначала рисуется вся эта ветка дерева, а затем поверх неё рисуются нижележащие на дереве объекты на других ветках. Это же правило относится к последовательности рисования сцен. Если на экране несколько сцен, то они рисуются сверху вниз в соответствии с их порядком на дереве. Сама по себе сцена - это невидимый объект (контейнер). Поэтому, рисование сцены означает последовательное рисование всех объектов, которые в ней находятся.&lt;br /&gt;
&lt;br /&gt;
Попробуем во вьювере кликнуть на солнце, когда оно оказывается под головой духа слона.&lt;br /&gt;
Его форма не изменяется, так как картинка головы, хотя и является полупрозрачной, по умолчанию &amp;quot;не прокликивается&amp;quot;. Чтобы изменить ситуацию, закроем вьювер (крестик) и отредактируем поле свойств головы с именем &amp;quot;'''прокликиваемая'''&amp;quot;, поставив вместо 0 значение 1. Закончив редактирование поля (нажав Enter), сохраняем проект [[Файл:00 8.png]] и снова запускаем вьювер [[Файл:00 9.png]].&lt;br /&gt;
Теперь дух, как и положено астральным образованиям, пропускает клик сквозь себя.&lt;br /&gt;
&lt;br /&gt;
Порядок рисования объектов можно изменить, перетащив их по дереву в панели Layout.&lt;br /&gt;
Эта операция требует определенной сноровки. Наступим на имя объекта elephant_ghost и не отпуская мыши потащим его вверх. Когда он окажется над объектом bg, отпустим мышь. Он станет подобъектом фона,&lt;br /&gt;
что отобразится как сдвиг elephant_ghost вправо (у объекта фона bg слева появится стрелочка). Теперь снова схватим elephant_ghost и потащим чуть вниз и влево по дереву.&lt;br /&gt;
Когда указатель мыши окажется между объектами bg и move, появится длинная горизонтальная полоска. В этот момент отпускаем мышь, и наш дух размещается между этими объектами.&lt;br /&gt;
&lt;br /&gt;
Ниже на рисунке представлены оба варианта положения духа на дереве сцены (слева подобъект elephant_ghost в объекте bg, а справа равноправный с bg объект, но ниже по дереву и, следовательно, рисуемый позже):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:El.png]]&lt;br /&gt;
[[файл:El2.png]]&lt;br /&gt;
&lt;br /&gt;
С точки зрения отрисовки, оба эти варианта приведут к одинаковому результату.&lt;br /&gt;
Проверьте это, потренировавшись в таскании, сохранении и запуске вьювера. Подумайте также, почему так происходит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление объектов ===&lt;br /&gt;
&lt;br /&gt;
Откройте снова окно редактора ресурсов (скорее всего оно находится в свернутом состоянии в панели приложений). Расположите его над окном редактора сцен. Перетащите на сцену из папки lesson_1 какую-нибудь небольшую картинку (например, sun_1). Сверните редактор ресурсов. Новая картинка появилась на сцене и в дереве объектов панели Layout. Чтобы её удалить, нажмите правую кнопку мыши на объекте sun_1 в панели Layout. В вывалившемся меню выберете пункт '''Delete'''. Картинка исчезнет. Эквивалентно, объект можно удалить, кликнув на него в дереве и нажав на клавиатуре кнопку Del.&lt;br /&gt;
&lt;br /&gt;
Заметим, что если объект на сцене сделать активным (кликнув на него - зеленая рамка) и попытаться нажать Del, то ничего не произойдет. Сделано это умышленно. Дело в том, что при удалении уничтожается не только сам объект, но и все его подобъекты. Подобная иерархия видна только на дереве проекта. &lt;br /&gt;
&lt;br /&gt;
В качестве упражнения, поместите на сцену две картинки. Одну их них в дереве панели Layout перетащите на другую, сделав её подобъектом. Потаскайте мышкой по сцене обе картинки. Обратите внимание, что подобъект перемещается независимым образом. В тоже время при таскании корневого объекта начнут двигаться они оба. Координаты подобъекта задаются относительно его владельца. Поэтому при перемещении корневого объекта вместе с ним движутся и все подобъекты.&lt;br /&gt;
Теперь удалите сразу оба объекта, сделав активным  на дереве корневой объект и нажав затем на кнопку Del (или при помощи правой кнопки мыши).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Другие объекты ===&lt;br /&gt;
&lt;br /&gt;
На нашей сцене кроме картинок находятся еще два типа объектов - это кнопка и машина состояний. С кнопками мы будем работать уже на следующем [[Создание экранов, сцен. Работа с кнопками|уроке]], а машинам состояний посвящены сразу 3 урока, начиная с [[Checkbox как машина состояний|третьего]]. Пока наша задача состоит в их поиске в дереве проекта и первым знакомством с их свойствами.&lt;br /&gt;
&lt;br /&gt;
Кликнем на стрелочку слева от объекта move в панели Layout. Под ним раскроется подобъект с именем '''sun_1'''. Это кнопка. Сам же объект move является машиной состояния. Кроме указания соответствующего типа в панели Properties (посмотрите на него!), тип объекта помечается иконкой на дереве. Для машины - это шестеренка, а кнопка - это кнопка :).&lt;br /&gt;
&lt;br /&gt;
Кликнув на объект '''sun_1''', рассмотрим его свойства в панели Properties. Кроме уже знакомых по картинке (тип=image) полей, появился ряд других. Например, раскроем стрелочку свойства &amp;quot;'''внешний вид'''&amp;quot;. Там находятся несколько полей, из которых заполнены '''up''' и '''down'''. В них заданы имена картинок для изображения отжатой и нажатой кнопки. Как они там оказались выясним в следующем [[Создание экранов, сцен. Работа с кнопками|уроке]]. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь объект '''move'''. Не смотря на небольшое количество свойств, это один из самых универсальных и сложных объектов, позволяющих программировать динамическое поведение объектов и их логику. Чтобы краем глаза заглянуть на кухню этого процесса кликните на свойство '''states''', а затем на появившиеся три точки в этом поле. Выскочит следующее окошко:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:Mov prop.png]]            [[файл:Move.png]]&lt;br /&gt;
&lt;br /&gt;
Эта машина состояний, которая имеет одно состояние. В нём задана последовательность команд, которые управляют её движением по экрану. Сама машина в данном случае является невидимым объектом. Однако, она содержит в качестве подобъекта кнопку '''sun_1'''. Поэтому, когда машина move бегает по экрану, вместе с ней движется и кнопка. Клики на себя принимает кнопка, меняя при этом свой внешний вид. Несложно догадаться, что в результате получается солнышко.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
* Найдите две машины состояний, связанные со слонёнком, и попробуйте догадаться как они работают (ответы в следующих уроках).&lt;br /&gt;
* Откройте демонстрационный проект, находящийся в папке AppSaluteСreator/Projects/Demo/demо. Поиграйтесь с ним.&lt;br /&gt;
* Снова откройте учебный проект c которым мы работали (AppSaluteСreator/Projects/Lessons/lessons). Он нам понадобится для следующего урока.&lt;br /&gt;
* Затем переходите на [[Создание экранов, сцен. Работа с кнопками|урок 2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9068</id>
		<title>Введение в AppSalute Сreator</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_AppSalute_%D0%A1reator&amp;diff=9068"/>
		<updated>2017-09-22T13:33:56Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
----&lt;br /&gt;
'''Цель:''' &lt;br /&gt;
познакомиться со средой разработки игр AppSalute Сreator.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* проинсталлировать AppSalute Сreator;&lt;br /&gt;
* открыть готовый проект в редакторе сцен;&lt;br /&gt;
* освоить взаимодействие редактора сцен и редактора ресурсов;&lt;br /&gt;
* изучить основные методы редактирования сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Для создания игр в AppSalute Сreator используются четыре взаимодействующих между собой приложения:&lt;br /&gt;
* [[Файл:Ico_main.png|40px]] '''[[Интерфейс ScenceEditor|Scene Editor]]''' - редактор игровых сцен (экранов), в котором происходит настройка свойств объектов и игровой логики. Это основной инструмент при разработке игры.&lt;br /&gt;
* [[Файл:Ico_base.png|40px]] '''[[Редактор ресурсов|Resources Editor]]''' - хранилище медиа-ресурсов (картинки, звуки, видео, анимация), использующихся в игре. Эти ресурсы при помощи мышки перетаскиваются на сцену в Scene Editor.&lt;br /&gt;
* [[Файл:Ico_text.png|40px]] '''[[Интерфейс TextEditor|Text Editor]]''' - хранилище всех текстовых ресурсов (надписей) на различных языках. Аналогично графике и звукам при помощи мышки они перетаскиваются в соответствующие свойства объектов, находящихся в Scene Editor. См. также [[Редактор текстовых ресурсов|Урок 6]]&lt;br /&gt;
* '''Viewer''' - проигрыватель созданной игры. Обычно запускается непосредственно из Scene Editor. Вы увидите, возможно сыграете, игру в том же виде, как и на любом мобильном устройстве.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Layout.png|right]]&lt;br /&gt;
Игра состоит из набора '''экранов'''. На каждом экране может находиться одна или несколько '''сцен'''.&lt;br /&gt;
Например, пусть на экране находится игровое поле и панель с интерфейсными кнопками. Эти две области можно оформить при помощи различных сцен. Первая сцена содержит игровые '''объекты''' редактора, например миниигры такие как puzzle и фоновую картинку. Вторая сцена содержит базовые элементы управления (кнопки, чекбоксы), универсальные машины состояний (программирующие логику) и т.д. &lt;br /&gt;
&lt;br /&gt;
Так как игра обычно запускается на различных устройствах (телефон, планшетник, десктоп), важным понятием является '''лейаут''' (layout). Условно - это различные мониторы, имеющие то или иное разрешение в пикселях и разное соотношение высоты и ширины. Игра может проектироваться только для одного лейаута, однако чаще поддерживается сразу несколько лейаутов: &lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson_1_layouts.png|400px]]&lt;br /&gt;
&lt;br /&gt;
В качестве примера справа на рисунке представлена структура некоторого проекта в лейауте с размерами экрана устройства 960x640 пикселей. На этом лейауте находятся экраны, из которых только один экран (pack1) развернут. Внутри него &lt;br /&gt;
находятся 2 сцены (stg_list1 и stg_main1). Одна сцена (stg_list1) раскрыта и содержит три игровых объекта. Последний из них (tbk_pack1) является сложным объектом, содержащим несколько других.&lt;br /&gt;
Таким образом, игровой проект можно представить как '''дерево''', на различных ветках которого находятся игровые объекты.&lt;br /&gt;
&lt;br /&gt;
Для начала работы с редактором его необходимо [[Установка и настройка|установить]], загрузив и запустив [[Downloads|инсталлятор]].&lt;br /&gt;
По умолчанию все необходимые программы будут размещены '''C:\Program Files\AppSalute Creator''' и материалы для уроков находятся в папке '''Мои Документы\Absolutist\Projects\lessons'''. При желании её можно в дальнейшем перенести в любое удобное место.&lt;br /&gt;
После инсталляции запускаем программу Scene Editor, найдя на рабочем столе или в списке приложений иконку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:icon_se.png]].&lt;br /&gt;
&lt;br /&gt;
== Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
=== Открытие проекта ===&lt;br /&gt;
	&lt;br /&gt;
Шаг первый. &lt;br /&gt;
Вверху окна редактора расположено общее меню и кнопки быстрого запуска:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Меню.png]]&lt;br /&gt;
&lt;br /&gt;
Если нажать пункт меню &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; (Проект), то выпадет список команд, с помощью которых можно [[Подготовка к работе &amp;quot;Создание проекта&amp;quot;|создать новый]] или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
&lt;br /&gt;
Откроем проект, на основании которого будут проходиться эти уроки. Для этого нажмём в меню пункты &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Open&amp;lt;/tt&amp;gt; или сразу кнопку быстрого доступа [[Файл:Открыть проект.png]]. Заходим в папку '''Мои документы/Absolutist/Projects/Lessons'''.&lt;br /&gt;
Внутри неё кликнем на файл '''lessons.seproj''' &lt;br /&gt;
&lt;br /&gt;
[[Файл:Seproj.JPG|150px|center]].&lt;br /&gt;
&lt;br /&gt;
В результате откроется проект, визуальная часть которого окажется в основной (центральной) части редактора. Чтобы увидеть что-то кроме белого экрана, необходимо на панели Layout, которая находится в правой верхней части экрана, кликнуть мышкой на строчку с надписью '''lesson_1''' (это первый игровой экран приложения). В результате мы должны увидеть:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Экран.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства проекта ===&lt;br /&gt;
&lt;br /&gt;
В правой части окна редактора расположены две панели '''Layout''' (лейаут) и '''Properties''' (свойства).&lt;br /&gt;
На панели Layout показано иерархическое дерево проекта, который пока состоит из одного игрового экрана lesson_1. Если кликнуть на стрелочку (или плюсик, или треугольник, в зависимости от Вашей ОС) слева от надписи lesson_1, то экран раскроется и мы увидим [[Проектирование_экранов_игры#Принципы_формирования_сцен_и_их_наполнения|сцену]], которая находится на [[Проектирование_экранов_игры|экране]]. Она называется lessons_1. Продолжая кликать на стрелочки, раскроем всю структуру этого проекта: &lt;br /&gt;
&lt;br /&gt;
[[Файл:Лэйаут.png]]&lt;br /&gt;
&lt;br /&gt;
Наиболее простым объектом, находящимся в дереве проекта, является статическая картинка фона, которая называется '''bg'''. Если на неё кликнуть, то ниже в панели '''Properties''' можно увидеть параметры настройки этого объекта (его свойства):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Свойства.png]]&lt;br /&gt;
&lt;br /&gt;
Стоит &amp;quot;пораскрывать&amp;quot; ветки настроек объекта bg, нажимая на стрелочки (или плюсики, или треугольники) слева от имен полей. Если навести мышкой на имя поля, то появится краткая подсказка, поясняющий смысл свойства.&lt;br /&gt;
&lt;br /&gt;
Панели Layout и Properties могут перетаскиваться мышкой в произвольное место редактора,&lt;br /&gt;
располагаться одна под другой или объединяться в одну панель с двумя закладками снизу.&lt;br /&gt;
Если панели находятся одна под другой, можно мышкой изменить их относительную высоту. Для этого мышь располагаем между ними, пока она не изменит своей формы со стрелочки на сплиттер (две горизонтальные полоски). Затем, нажав на мышь, таскаем вверх-вниз границу между панелями.&lt;br /&gt;
&lt;br /&gt;
=== Проигрывание проекта ===&lt;br /&gt;
&lt;br /&gt;
В процессе разработки игрового проекта, игру в любой момент можно запустить в отдельном окне вьювера ('''Viewer''') для проверки. Для этого в дереве проекта (панель Layout) необходимо выбрать интересующий нас экран (с которого произойдёт запуск) и нажать кнопку [[Файл:Play111.png]] (или пункт меню &amp;lt;tt&amp;gt;Viewer&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Start Viewer&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В нашем случае мы увидим летающее над слонёнком солнышко. Оба объекта (и слонёнок, и солнышко) являются активными. Кликните сначала на голову слонёнка - она должна повернуться. Клик на тело слонёнка заставит его подпрыгнуть. При должной сноровке можно кликнуть также на летающее солнышко, что приведёт к кратковременному изменению его формы.&lt;br /&gt;
&lt;br /&gt;
Стоит запомнить три важных правила при работе с вьювером:&lt;br /&gt;
* Если приложение редактировалось, то перед запуском вьювера проект необходимо &amp;lt;u&amp;gt;сначала&amp;lt;/u&amp;gt; сохранить (меню: &amp;lt;tt&amp;gt;Project&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Save Project&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Всегда необходимо перед запуском вьювера выбирать экран, который начнёт проигрываться (сейчас такой экран пока один).&lt;br /&gt;
* После просмотра во вьювере игры, его необходимо закрыть, нажав (как обычно в Windows) крестик в правом верхнем углу окна.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки быстрого запуска ===&lt;br /&gt;
&lt;br /&gt;
Приведем для справки описание кнопок быстрого доступа к некоторым командам редактора сцен (более подробная информация будет предоставлена в последующих уроках):&lt;br /&gt;
&lt;br /&gt;
*[[Файл:00001.png]] — создать новый проект; &lt;br /&gt;
*[[Файл:Открыть проект.png]] — открыть уже созданный проект;&lt;br /&gt;
*[[Файл:00002.png]] — сохранить изменения в проекте; &lt;br /&gt;
*[[Файл:00003.png]] — нормальный вид; &lt;br /&gt;
*[[Файл:Play111.png]] —  запустить Viewer;&lt;br /&gt;
*[[Файл:000004.png]] — запустить Viewer с изменением времени; &lt;br /&gt;
*[[Файл:000005.png]] — очистить данные;&lt;br /&gt;
*[[Файл:00006.png]] — вызов редактора ресурсов;&lt;br /&gt;
*[[Файл:00007.png]] — вызов текстового редактора;&lt;br /&gt;
*[[Файл:00008.png]] — анализ использованных ресурсов;  &lt;br /&gt;
*[[Файл:00009.png]] — поиск объекта по имени или id;&lt;br /&gt;
*[[Файл:0000010.png]] — общие свойства объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Редактор ресурсов]] ==&lt;br /&gt;
&lt;br /&gt;
Второе важное приложение, это редактор ресурсов.&lt;br /&gt;
Так как мы открыли готовый проект, то с ним уже связана база графических ресурсов.&lt;br /&gt;
Чтобы её увидеть, нажмите кнопку [[Файл:00006.png|20px]] (или меню: &amp;lt;tt&amp;gt;Tools&amp;lt;/tt&amp;gt; &amp;amp;rarr; &amp;lt;tt&amp;gt;Resources Editor&amp;lt;/tt&amp;gt;).&lt;br /&gt;
Откроется новое окно, которое, на самом деле, является независимым приложением:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Редактор ресурсов111.png]]&lt;br /&gt;
&lt;br /&gt;
Как и в редакторе сцен, вверху окна редактора ресурсов расположено меню и кнопки быстрого доступа: создать базу ресурсов, открыть уже существующую, показать экспорт последних объектов, сохранить изменения в редакторе ресурсов, добавить картинку (png, jpeg), добавить картинку из папки, добавить анимацию, мелодию (mp3, ogg), видео (mp4).&lt;br /&gt;
Ниже, в левой панели, находятся папки, внутри которых можно найти различные графические ресурсы, которые мы будем использовать на протяжении этих уроков. Каждая папка названа по имени урока.&lt;br /&gt;
Кликнув на стрелочку (или плюсик, или треугольник) слева от папки lesson_1 мы увидим текстовый список из 8 картинок, находящихся в ранее запущенном приложении со слоненком и солнышком.&lt;br /&gt;
&lt;br /&gt;
Если в дереве папок активна данная папка, то на правой панели мы видим список графических ресурсов в виде иконок. Если же в дереве кликнуть на имя конкретной картинки, то в правой панели она будет представлена в натуральную величину. Если кликнуть правой кнопкой мыши на конкретный ресурс отобразится всплывающее подменю, которое аналогично кнопкам быстрого доступа, за исключением одного пункта - &amp;lt;tt&amp;gt;Заменить изображение...&amp;lt;/tt&amp;gt;. Замену изображений необходимо делать через всплывающее подменю.&lt;br /&gt;
&lt;br /&gt;
Текущее приложение содержит фоновую картинку (bg), три картинки частей слонёнка (elephant_body, elephant_head_1, elephant_head_2) и 4 картинки с различным видом солнышка. &lt;br /&gt;
&lt;br /&gt;
Так как редактор ресурсов является отдельным приложением, он может оказаться под окном редактора сцен. Это не всегда удобно, поэтому зайдем в пункт меню &amp;lt;tt&amp;gt;'''View'''&amp;lt;/tt&amp;gt; редактора ресурсов и поставим галочку у пункта &amp;lt;tt&amp;gt;'''Always on Top'''&amp;lt;/tt&amp;gt;. Теперь редактор ресурсов окажется поверх редактора сцен (как впрочем, и поверх всех остальных окон). Естественно, галочку можно в любой момент снять или свернуть окно редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
Размер окна редактора ресурсов можно изменять мышкой, схватившись за правый нижний угол окна.&lt;br /&gt;
Правую панель, которая выводит картинки, можно “перетащить” в любое место окна редактора ресурсов (для этого необходимо потянуть за её заголовок). Чтобы вернуть панель на фиксированное место, необходимо дважды кликнуть на её заголовке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование сцены ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление на сцену ===&lt;br /&gt;
&lt;br /&gt;
Разберемся, как на сцену добавляются новые объекты. Предполагается, что мы одновременно видим окна обоих редакторов. Убедимся, что в панели проекта (Layout) редактора сцен активна текущая сцена lessons_1. Не путайте её с экраном lesson_1, находящимся выше. Рядом с каждым объектом в дереве ресурсов находится иконка, отражающая тип объекта. Рядом с экраном изображено, что-то похожее на фотоаппарат, а рядом со сценой - чистый лист бумаги. &lt;br /&gt;
 &lt;br /&gt;
Нажав мышкой на иконку головы слонёнка в '''редакторе ресурсов''', перетащим её на сцену в '''редактор сцен''', где кнопку мышки отпустим:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Add picture.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Теперь окно редактора ресурсов можно свернуть, чтобы оно не мешало. &lt;br /&gt;
На сцене мы видим одного полноценного слонёнка и отдельно парящую голову.&lt;br /&gt;
В списке объектов (панель Layout) добавился объект elephant_head_2. &lt;br /&gt;
Его имя по умолчанию совпадает с именем картинки в редакторе ресурсов.&lt;br /&gt;
Если оно не достаточно точно выражает назначение этого объекта, то его '''необходимо'''&lt;br /&gt;
изменить в панели Properties (предполагается, что на дереве объектов эта голова сейчас выбрана).&lt;br /&gt;
Переименуем её, например, в elephant_ghost (дух слонёнка). Для этого кликнем справа от поля '''имя''' в панели Properties и введем новое название. После окончания редактирования нажимаем Enter. Одновременно с этим изменилось имя на дереве объектов (Layout).&lt;br /&gt;
Стоит всегда придерживаться следующего правила:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Необходимо присваивать объектам в проекте осмысленные имена, отражающие их роль и функции. Это относится также к именам экранов и сцен.'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Названия объектов могут повторяться, но это плохой тон. В частности, неудачным примером названий в этом проекте служат похожие имена экрана (lesson_1) и сцены (lessons_1). Плохое имя (move) у летающего солнышка (лучше было бы fly_sun). &lt;br /&gt;
&lt;br /&gt;
Обратим внимание, что добавленная голова имеет тип '''image''' (первое поле в панели Properties).&lt;br /&gt;
Большинство объектов в начале имеют такой тип. Далее он меняется в зависимости от функциональности объекта (подробнее об этом в следующих уроках).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:Ok.png|right|32px]]&lt;br /&gt;
'''Совет''': Переименовывать объекты можно непосредственно в панели Layout, после двойного клика мышкой на имя этого объекта. Редактирование завершается нажатием клавиши Enter.  &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Изменение положения ===&lt;br /&gt;
&lt;br /&gt;
На сцене вокруг добавленной головы находится &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;зелёная прямоугольная рамка&amp;lt;/span&amp;gt; (объект активен). &lt;br /&gt;
Если она &amp;lt;span style=&amp;quot;color:#770000&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt;, необходимо кликнуть на объект (голову) и он станет активным.&lt;br /&gt;
Заметим, что при клике на объекте меняется не только цвет рамки, &lt;br /&gt;
но и активный объект на дереве объектов (Layout). Соответственно в панели Properties показываются его свойства.&lt;br /&gt;
Стоит покликать на различные объекты на сцене и на дереве проекта, наблюдая одним глазом за их рамкой, а другим за панелями проекта и свойств. В заключении этого увлекательного упражнения необходимо снова сделать активной голову.&lt;br /&gt;
&lt;br /&gt;
Активный объект можно таскать мышкой по экрану, задав ему требуемое положение (не оторвите только голову исходному слоненку). Стоит раскрыть свойство &amp;quot;'''положение'''&amp;quot; в панели Properties и понаблюдать, как при таскании головы меняются её координаты. &lt;br /&gt;
Начало координат (точка x=0, y=0) расположено в центре сцены. Горизонтальная ось x направлена вправо, а вертикальная ось y - вниз. Если объект находится ниже центра сцены, он будет иметь положительное значение y, а если выше, то отрицательное.&lt;br /&gt;
Естественно, положение объекта можно изменить и при помощи прямого редактирования полей '''x''', '''y''' свойства &amp;quot;'''положение'''&amp;quot;. Перетащите голову в правый верхний угол сцены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Модификаторы ===&lt;br /&gt;
&lt;br /&gt;
Будем считать, что добавленная голова слона - это дух предков исходного слонёнка.&lt;br /&gt;
Духу положено быть полупрозрачным. Это достигается изменением &lt;br /&gt;
свойства '''alpha''' в группе '''модификаторы''' на панели свойств (Properties).&lt;br /&gt;
Изменим исходное значение 1.00 (непрозрачен) на 0.5 (полупрозрачен).&lt;br /&gt;
Значение alpha=0 соответствует полной невидимости объекта (возможно любое значение между 0 и 1).&lt;br /&gt;
Обратим внимание, что десятичная точка является именно точкой, а не запятой, как всё ещё учат на 1/6 части суши. Впрочем, если в вашей операционной системе в языковых настройках стоит русский язык, Вы увидите привычную запятую, вместо десятичной точки. &lt;br /&gt;
&lt;br /&gt;
Дополнительно в разделе '''модификаторы''' можно изменить угол ('''angle''') в градусах (поставьте, например -30)&lt;br /&gt;
и масштаб картинки (поля '''scale x''' и '''scale y'''). Исходная картинка имеет единичный масштаб, т.е. на сцене выглядит также, как и в редакторе ресурсов. Если масштаб увеличить, то увеличится и картинка (это можно сделать независимо по ширине и высоте). &lt;br /&gt;
Соответственно, значение меньшее 1 (но большее нуля) её уменьшит.&lt;br /&gt;
Отрицательное значение масштаба переворачивает картинку. Задайте scale_x=-2 и scale_y=2.&lt;br /&gt;
В результате должно получиться что-то типа:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mod.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что при сильном масштабировании (scale) могут появляться дефекты картинки (квадратики пикселей), поэтому злоупотреблять большими значениями, обычно, не стоит.&lt;br /&gt;
&lt;br /&gt;
=== Z - порядок объектов ===&lt;br /&gt;
&lt;br /&gt;
Пришло время посмотреть, что у нас получилось. Для этого сохраняем все изменения &lt;br /&gt;
[[Файл:00 8.png]] (нажав кнопку Ok на выскочившем окошке).&lt;br /&gt;
Затем запускаем вьювер [[Файл:00 9.png]]. Понаблюдаем за солнцем. Оно движется над фоновой&lt;br /&gt;
картинкой &amp;quot;'''bg'''&amp;quot;, но ''под'' головой духа слона (он должен, естественно, находится в верхней части сцены). Такая последовательность прорисовки связана с порядком объектов в дереве на панели Layout. Отрисовка происходит сверху вниз (сначала bg, затем move и т.д.). Это правило является иерархическим. Если на дереве находятся объекты, содержащие другие объекты, то сначала рисуется вся эта ветка дерева, а затем поверх неё рисуются нижележащие на дереве объекты на других ветках. Это же правило относится к последовательности рисования сцен. Если на экране несколько сцен, то они рисуются сверху вниз в соответствии с их порядком на дереве. Сама по себе сцена - это невидимый объект (контейнер). Поэтому, рисование сцены означает последовательное рисование всех объектов, которые в ней находятся.&lt;br /&gt;
&lt;br /&gt;
Попробуем во вьювере кликнуть на солнце, когда оно оказывается под головой духа слона.&lt;br /&gt;
Его форма не изменяется, так как картинка головы, хотя и является полупрозрачной, по умолчанию &amp;quot;не прокликивается&amp;quot;. Чтобы изменить ситуацию, закроем вьювер (крестик) и отредактируем поле свойств головы с именем &amp;quot;'''прокликиваемая'''&amp;quot;, поставив вместо 0 значение 1. Закончив редактирование поля (нажав Enter), сохраняем проект [[Файл:00 8.png]] и снова запускаем вьювер [[Файл:00 9.png]].&lt;br /&gt;
Теперь дух, как и положено астральным образованиям, пропускает клик сквозь себя.&lt;br /&gt;
&lt;br /&gt;
Порядок рисования объектов можно изменить, перетащив их по дереву в панели Layout.&lt;br /&gt;
Эта операция требует определенной сноровки. Наступим на имя объекта elephant_ghost и не отпуская мыши потащим его вверх. Когда он окажется над объектом bg, отпустим мышь. Он станет подобъектом фона,&lt;br /&gt;
что отобразится как сдвиг elephant_ghost вправо (у объекта фона bg слева появится стрелочка). Теперь снова схватим elephant_ghost и потащим чуть вниз и влево по дереву.&lt;br /&gt;
Когда указатель мыши окажется между объектами bg и move, появится длинная горизонтальная полоска. В этот момент отпускаем мышь, и наш дух размещается между этими объектами.&lt;br /&gt;
&lt;br /&gt;
Ниже на рисунке представлены оба варианта положения духа на дереве сцены (слева подобъект elephant_ghost в объекте bg, а справа равноправный с bg объект, но ниже по дереву и, следовательно, рисуемый позже):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:El.png]]&lt;br /&gt;
[[файл:El2.png]]&lt;br /&gt;
&lt;br /&gt;
С точки зрения отрисовки, оба эти варианта приведут к одинаковому результату.&lt;br /&gt;
Проверьте это, потренировавшись в таскании, сохранении и запуске вьювера. Подумайте также, почему так происходит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление объектов ===&lt;br /&gt;
&lt;br /&gt;
Откройте снова окно редактора ресурсов (скорее всего оно находится в свернутом состоянии в панели приложений). Расположите его над окном редактора сцен. Перетащите на сцену из папки lesson_1 какую-нибудь небольшую картинку (например, sun_1). Сверните редактор ресурсов. Новая картинка появилась на сцене и в дереве объектов панели Layout. Чтобы её удалить, нажмите правую кнопку мыши на объекте sun_1 в панели Layout. В вывалившемся меню выберете пункт '''Delete'''. Картинка исчезнет. Эквивалентно, объект можно удалить, кликнув на него в дереве и нажав на клавиатуре кнопку Del.&lt;br /&gt;
&lt;br /&gt;
Заметим, что если объект на сцене сделать активным (кликнув на него - зеленая рамка) и попытаться нажать Del, то ничего не произойдет. Сделано это умышленно. Дело в том, что при удалении уничтожается не только сам объект, но и все его подобъекты. Подобная иерархия видна только на дереве проекта. &lt;br /&gt;
&lt;br /&gt;
В качестве упражнения, поместите на сцену две картинки. Одну их них в дереве панели Layout перетащите на другую, сделав её подобъектом. Потаскайте мышкой по сцене обе картинки. Обратите внимание, что подобъект перемещается независимым образом. В тоже время при таскании корневого объекта начнут двигаться они оба. Координаты подобъекта задаются относительно его владельца. Поэтому при перемещении корневого объекта вместе с ним движутся и все подобъекты.&lt;br /&gt;
Теперь удалите сразу оба объекта, сделав активным  на дереве корневой объект и нажав затем на кнопку Del (или при помощи правой кнопки мыши).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Другие объекты ===&lt;br /&gt;
&lt;br /&gt;
На нашей сцене кроме картинок находятся еще два типа объектов - это кнопка и машина состояний. С кнопками мы будем работать уже на следующем [[Создание экранов, сцен. Работа с кнопками|уроке]], а машинам состояний посвящены сразу 3 урока, начиная с [[Checkbox как машина состояний|третьего]]. Пока наша задача состоит в их поиске в дереве проекта и первым знакомством с их свойствами.&lt;br /&gt;
&lt;br /&gt;
Кликнем на стрелочку слева от объекта move в панели Layout. Под ним раскроется подобъект с именем '''sun_1'''. Это кнопка. Сам же объект move является машиной состояния. Кроме указания соответствующего типа в панели Properties (посмотрите на него!), тип объекта помечается иконкой на дереве. Для машины - это шестеренка, а кнопка - это кнопка :).&lt;br /&gt;
&lt;br /&gt;
Кликнув на объект '''sun_1''', рассмотрим его свойства в панели Properties. Кроме уже знакомых по картинке (тип=image) полей, появился ряд других. Например, раскроем стрелочку свойства &amp;quot;'''внешний вид'''&amp;quot;. Там находятся несколько полей, из которых заполнены '''up''' и '''down'''. В них заданы имена картинок для изображения отжатой и нажатой кнопки. Как они там оказались выясним в следующем [[Создание экранов, сцен. Работа с кнопками|уроке]]. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь объект '''move'''. Не смотря на небольшое количество свойств, это один из самых универсальных и сложных объектов, позволяющих программировать динамическое поведение объектов и их логику. Чтобы краем глаза заглянуть на кухню этого процесса кликните на свойство '''states''', а затем на появившиеся три точки в этом поле. Выскочит следующее окошко:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[файл:Mov prop.png]]            [[файл:Move.png]]&lt;br /&gt;
&lt;br /&gt;
Эта машина состояний, которая имеет одно состояние. В нём задана последовательность команд, которые управляют её движением по экрану. Сама машина в данном случае является невидимым объектом. Однако, она содержит в качестве подобъекта кнопку '''sun_1'''. Поэтому, когда машина move бегает по экрану, вместе с ней движется и кнопка. Клики на себя принимает кнопка, меняя при этом свой внешний вид. Несложно догадаться, что в результате получается солнышко.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
* Найдите две машины состояний, связанные со слонёнком, и попробуйте догадаться как они работают (ответы в следующих уроках).&lt;br /&gt;
* Откройте демонстрационный проект, находящийся в папке AppSaluteСreator/Projects/Demo/demо. Поиграйтесь с ним.&lt;br /&gt;
* Снова откройте учебный проект c которым мы работали (AppSaluteСreator/Projects/Lessons/lessons). Он нам понадобится для следующего урока.&lt;br /&gt;
* Затем переходите на [[Создание экранов, сцен. Работа с кнопками|урок 2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Learning|Оглавление]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Создание экранов, сцен. Работа с кнопками|Урок 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Play111.png&amp;diff=9067</id>
		<title>Файл:Play111.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Play111.png&amp;diff=9067"/>
		<updated>2017-09-22T12:59:09Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Move.png&amp;diff=9066</id>
		<title>Файл:Move.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Move.png&amp;diff=9066"/>
		<updated>2017-09-22T12:53:28Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Mov_prop.png&amp;diff=9065</id>
		<title>Файл:Mov prop.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Mov_prop.png&amp;diff=9065"/>
		<updated>2017-09-22T12:53:00Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:El2.png&amp;diff=9064</id>
		<title>Файл:El2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:El2.png&amp;diff=9064"/>
		<updated>2017-09-22T12:52:42Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:El.png&amp;diff=9063</id>
		<title>Файл:El.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:El.png&amp;diff=9063"/>
		<updated>2017-09-22T12:52:35Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Mod.png&amp;diff=9062</id>
		<title>Файл:Mod.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Mod.png&amp;diff=9062"/>
		<updated>2017-09-22T12:52:08Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Add_picture.png&amp;diff=9061</id>
		<title>Файл:Add picture.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Add_picture.png&amp;diff=9061"/>
		<updated>2017-09-22T12:51:36Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80_%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BE%D0%B2111.png&amp;diff=9060</id>
		<title>Файл:Редактор ресурсов111.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80_%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BE%D0%B2111.png&amp;diff=9060"/>
		<updated>2017-09-22T12:51:12Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:000012.png&amp;diff=9059</id>
		<title>Файл:000012.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:000012.png&amp;diff=9059"/>
		<updated>2017-09-22T12:50:31Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:0000010.png&amp;diff=9058</id>
		<title>Файл:0000010.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:0000010.png&amp;diff=9058"/>
		<updated>2017-09-22T12:50:21Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00009.png&amp;diff=9057</id>
		<title>Файл:00009.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00009.png&amp;diff=9057"/>
		<updated>2017-09-22T12:50:13Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00008.png&amp;diff=9056</id>
		<title>Файл:00008.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00008.png&amp;diff=9056"/>
		<updated>2017-09-22T12:50:05Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00007.png&amp;diff=9055</id>
		<title>Файл:00007.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00007.png&amp;diff=9055"/>
		<updated>2017-09-22T12:49:57Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00006.png&amp;diff=9054</id>
		<title>Файл:00006.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00006.png&amp;diff=9054"/>
		<updated>2017-09-22T12:49:49Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:000005.png&amp;diff=9053</id>
		<title>Файл:000005.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:000005.png&amp;diff=9053"/>
		<updated>2017-09-22T12:49:41Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:000004.png&amp;diff=9052</id>
		<title>Файл:000004.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:000004.png&amp;diff=9052"/>
		<updated>2017-09-22T12:49:34Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00003.png&amp;diff=9051</id>
		<title>Файл:00003.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00003.png&amp;diff=9051"/>
		<updated>2017-09-22T12:49:25Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00002.png&amp;diff=9050</id>
		<title>Файл:00002.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00002.png&amp;diff=9050"/>
		<updated>2017-09-22T12:49:17Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00001.png&amp;diff=9049</id>
		<title>Файл:00001.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:00001.png&amp;diff=9049"/>
		<updated>2017-09-22T12:48:59Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1.png&amp;diff=9048</id>
		<title>Файл:1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1.png&amp;diff=9048"/>
		<updated>2017-09-22T12:46:19Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: Akarpel загрузил новую версию Файл:1.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:View.png&amp;diff=9047</id>
		<title>Файл:View.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:View.png&amp;diff=9047"/>
		<updated>2017-09-22T12:45:45Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Play.png&amp;diff=9046</id>
		<title>Файл:Play.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Play.png&amp;diff=9046"/>
		<updated>2017-09-22T12:45:25Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: Akarpel загрузил новую версию Файл:Play.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0.png&amp;diff=9045</id>
		<title>Файл:Свойства.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0.png&amp;diff=9045"/>
		<updated>2017-09-22T12:45:03Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9B%D1%8D%D0%B9%D0%B0%D1%83%D1%82.png&amp;diff=9044</id>
		<title>Файл:Лэйаут.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9B%D1%8D%D0%B9%D0%B0%D1%83%D1%82.png&amp;diff=9044"/>
		<updated>2017-09-22T12:44:41Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%AD%D0%BA%D1%80%D0%B0%D0%BD.png&amp;diff=9043</id>
		<title>Файл:Экран.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%AD%D0%BA%D1%80%D0%B0%D0%BD.png&amp;diff=9043"/>
		<updated>2017-09-22T12:43:48Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82.png&amp;diff=9042</id>
		<title>Файл:Открыть проект.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82.png&amp;diff=9042"/>
		<updated>2017-09-22T12:43:10Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9C%D0%B5%D0%BD%D1%8E.png&amp;diff=9041</id>
		<title>Файл:Меню.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9C%D0%B5%D0%BD%D1%8E.png&amp;diff=9041"/>
		<updated>2017-09-22T12:42:24Z</updated>

		<summary type="html">&lt;p&gt;Akarpel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akarpel</name></author>
		
	</entry>
</feed>