<?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=Akovinenko</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=Akovinenko"/>
	<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/Akovinenko"/>
	<updated>2026-10-17T03:41:09Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9875</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9875"/>
		<updated>2019-09-30T08:56:21Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Хинты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Первый шарик''' - машина, отображающая первый шарик. При выстреле в эту машину пишется параметр '''curr_bomb_type''', который говорит о том, выстрелили мы обычным шариком или бустером (0 - обычный шарик).&lt;br /&gt;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'' (1+2+3+4...), ''new'' (n * (n + 1) / 2 * coef * k), ''Xkoef'' (x * n * k * coef), где n - к-во сматченных шариков, k - номер удачного выстрела в серии, coef - коэффициент, x - очки за шарик.&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''коеф для матча (xkoef)''' - (xkoef_match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала (xkoef)''' - (xkoef_drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''коеф для бустера (xkoef)''' - (xkoef_booster_coef) коэффициент очков для матча.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта); (!!! Важно: делать это нужно машинкой, а не кнопкой, чтобы не было инита объекта!)&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&lt;br /&gt;
&lt;br /&gt;
=Добавляемые параметры=&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визцализатор целей===&lt;br /&gt;
*'''Заглушки''' - заглушки.&lt;br /&gt;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить. Количество обвалившихся шариков пишется в параметр '''bubbles_left'''&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
=Примечания=&lt;br /&gt;
*Если нужно изменить номер фрейма шариков перед запуском уровня, это лучше делать в машинке на том же экране, где находится сам объект. Объект Бабблшутер уже должен быть проинициализирован к этому времени, чтобы избежать падений. После изменения номера фрейма (параметр res%N%Frame) нужно передать Бабблшутеру состояние update_params.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9874</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9874"/>
		<updated>2019-09-30T08:55:49Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Первый шарик''' - машина, отображающая первый шарик. При выстреле в эту машину пишется параметр '''curr_bomb_type''', который говорит о том, выстрелили мы обычным шариком или бустером (0 - обычный шарик).&lt;br /&gt;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'' (1+2+3+4...), ''new'' (n * (n + 1) / 2 * coef * k), ''Xkoef'' (x * n * k * coef), где n - к-во сматченных шариков, k - номер удачного выстрела в серии, coef - коэффициент, x - очки за шарик.&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''коеф для матча (xkoef)''' - (xkoef_match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала (xkoef)''' - (xkoef_drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''коеф для бустера (xkoef)''' - (xkoef_booster_coef) коэффициент очков для матча.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта); (!!! Важно: делать это нужно машинкой, а не кнопкой, чтобы не было инита объекта!)&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&lt;br /&gt;
&lt;br /&gt;
=Добавляемые параметры=&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визцализатор целей===&lt;br /&gt;
*'''Заглушки''' - заглушки.&lt;br /&gt;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить. Количество обвалившихся шариков пишется в параметр '''bubbles_left'''&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Примечания=&lt;br /&gt;
*Если нужно изменить номер фрейма шариков перед запуском уровня, это лучше делать в машинке на том же экране, где находится сам объект. Объект Бабблшутер уже должен быть проинициализирован к этому времени, чтобы избежать падений. После изменения номера фрейма (параметр res%N%Frame) нужно передать Бабблшутеру состояние update_params.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Machine&amp;diff=9787</id>
		<title>Machine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Machine&amp;diff=9787"/>
		<updated>2019-02-12T14:58:33Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Добавляемые параметры для LUA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Machine]] - [[Object|объект]] '''машина состояний''' (state machine) позволяет описывать сложное поведение игровых объектов. Для машин с типовым набором состояний и поведений вводятся отдельные типы объектов. Например, кнопка, по своей сути, является машиной состояний.&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Логика поведения машины разбивается на отдельные узлы (состояния). Машина всегда находится строго в одном состоянии. Переход из одного состояния в другое происходит либо в результате внешнего воздействия на машину, либо в результате окончания некоторых процессов протекающих внутри неё&lt;br /&gt;
&lt;br /&gt;
Любая машина состояний может быть изображена в виде графа с кружочками и стрелками. У машины всегда активно строго одно состояние (ниже это изображено на левом рисунке темным кружком):&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:def_states.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Машина состояний не обладает памятью. Это означает, что для анализа того, что произойдет в данном состоянии, неважно как мы в него попали, и какова была предыстория переходов. Важно, только, что мы находимся в этом состоянии. Такое отсутствие памяти упрощает анализ логики машины, так как каждый раз мы концентрируемся на одном конкретном состоянии, а всю логику работы разбиваем на отдельные кирпичики-состояния.&lt;br /&gt;
&lt;br /&gt;
Выше на правом рисунке изображено некоторое состояние. При входе в него, происходит инициализация состояния. Если на объект оказываются внешние воздействия, то он может покинуть состояние. Наконец, внутри состояния могут работать различные процессы.&lt;br /&gt;
&lt;br /&gt;
Все команды состояния, разбиваются на три группы:&lt;br /&gt;
* '''[[#Инициализация|Инициализация]]''':&lt;br /&gt;
** '''[[#draw|draw]]''' - установка графического ресурса;&lt;br /&gt;
** '''[[#init|init]]''' - инициализация параметров машины (координаты и т.п.);&lt;br /&gt;
** '''[[#set|set]]''' - установка состояния другого объекта;&lt;br /&gt;
** '''[[#play|play]]''' - проиграть звук;&lt;br /&gt;
** '''[[#var|var]]''' - переменная, которой присваивается значение параметра объекта;&lt;br /&gt;
** '''[[#buy|buy]]''' - запуск процедуры in-app покупки;&lt;br /&gt;
** '''[[#download|download]]''' - запуск процедуры закачки контента.&lt;br /&gt;
* '''[[#Процессы|Процессы]]''':&lt;br /&gt;
** '''[[#wait|wait]]''' - задержка по времени;&lt;br /&gt;
** '''[[#move|move]]''' - равномерное движение;&lt;br /&gt;
** '''[[#rot|rot]]''' - вращение вокруг точки пивота;&lt;br /&gt;
** '''[[#alpha|alpha]]''' - изменение прозрачности;&lt;br /&gt;
** '''[[#scale|scale]]''' - изменение размера;&lt;br /&gt;
** '''[[#phys|phys]]''' - ускоренное движение;&lt;br /&gt;
** '''[[#rgb|rgb]]''' - изменить rgb-каналы;&lt;br /&gt;
** '''[[#spline|spline]]''' - движение по сплайну (по кривой).&lt;br /&gt;
* '''[[#Воздействия|Воздействия]]''':&lt;br /&gt;
** '''[[#click|click]]''' - что делать при клике на машине;&lt;br /&gt;
** '''[[#drop|drop]]''' - на машине отпущена клавиша мыши;&lt;br /&gt;
** '''[[#drag|drag]]''' - машину схватили и тащат;&lt;br /&gt;
** '''[[#throw|throw]]''' - машину схватили и кинули;&lt;br /&gt;
** '''[[#apply|apply]]''' - сработает при пересечении машины с линией или объектом;&lt;br /&gt;
** '''[[#touch_in|touch_in]]''' - наведение мыши/пальца на машину, если палец &amp;quot;тащат&amp;quot; по экрану;&lt;br /&gt;
** '''[[#touch_out|touch_out]]''' - выведение мыши из машины, если палец &amp;quot;тащат&amp;quot; по экрану;&lt;br /&gt;
** '''[[#touch_up|touch_up]]''' - отжатие мыши от машины;&lt;br /&gt;
** '''[[#tap|tap]]''' - умный тач;&lt;br /&gt;
** '''[[#mouse_in|mouse_in]]''' - наведение мыши на машину даже если не нажата кнопка мыши;&lt;br /&gt;
** '''[[#mouse_out|mouse_out]]''' - выведение мыши из машины даже если не нажата кнопка мыши.&lt;br /&gt;
&lt;br /&gt;
Кроме этого, есть команда '''[[#if|if]]''', вызываемая другими командами. В ней описываются некоторые логические условия, выполнение которых говорит команде (которая вызвала этот '''if'''), что можно завершать работу. Для разных команд использование этого параметра несколько '''отличается'''!&lt;br /&gt;
&lt;br /&gt;
Начальные понятия и методы работы с машинами состояний находятся в [[Learning|уроках]],&lt;br /&gt;
начиная с [[Checkbox как машина состояний|третьего]].&lt;br /&gt;
&lt;br /&gt;
== Свойства ==&lt;br /&gt;
&lt;br /&gt;
Общие для всех объектов свойства описаны в документе [[Object|Object]].&lt;br /&gt;
Дополнительные свойства:&lt;br /&gt;
&lt;br /&gt;
* '''в опции''' - да - машина будет сохранять свое состояние в опции и при следующей инициализации инициал-ся не в первом состоянии, а в состоянии, записанном в опциях.&lt;br /&gt;
* '''Состояние''' - Состояние в котором будет находиться машина при инициализации. Если ничего не указано - первое состояние в списке состояний.&lt;br /&gt;
* '''Хранить нажатость''' - нужно ли сбрасывать нажатость при изменении состояния.&lt;br /&gt;
* '''res''' - графический ресурс машины. Может отсутствовать. Перетягивается из редактора ресурсов(поле должно быть в состоянии редактирования).&lt;br /&gt;
* '''states''' - По двойному клику, или по нажатию на кнопку с тремя точками открывается список состояний.&lt;br /&gt;
* '''отладка''' - Отображать в окне состояний текущий объект.&lt;br /&gt;
* '''курсор''' - Графический ресурс курсора текущего и всех дочерних объектов.&lt;br /&gt;
* '''прокликиваемая''' - 0 - машина не пропускает клик, 1 - машина пропускает клик, 2 - машина обрабатывает клик и пропускает его дальше.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры для LUA ==&lt;br /&gt;
&lt;br /&gt;
Все параметры доступны из LUA скрипта, привязанного к машинке.&lt;br /&gt;
&lt;br /&gt;
Далее во всех параметрах присутствуют:&lt;br /&gt;
&lt;br /&gt;
имя (name) - имя параметра, по которому он будет браться из скрипта.&lt;br /&gt;
&lt;br /&gt;
значение (val) - значение, которое прилетит в скрипт.&lt;br /&gt;
&lt;br /&gt;
описание (dsc) - описание параметра. Просто хинт для параметра, нигде не используется.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''параметр для lua скрипта (строка)''' - строка, которая доступна из LUA скрипта через viewer.getParamS(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (целое)''' - целое число, которое доступно из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (дробное)''' - дробное число, которое доступно из LUA скрипта через viewer.getParamF(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id ресурса)''' - ресурс (перетаскивается из базы ресурсов), id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id звука)''' - звук (перетаскивается из базы ресурсов), id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id видео)''' - видео (перетаскивается из базы ресурсов), id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id объекта)''' - объект из layout, id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (массив id объектов)''' - объекты из layout (добавляются через окошко, которое появляется при двойном нажатии на параметр), массив id доступен из LUA скрипта через viewer.getParamArrI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
&lt;br /&gt;
== Инициализация ==&lt;br /&gt;
&lt;br /&gt;
При попадании в состояние, сразу выполняются команды инициализации init, draw, set, buy, var. Если в этих командах нет параметра break, они все выполняются до запуска процессов. Параметр break (со значением 1) прерывает выполнение команд инициализации данного типа. Их можно перезапустить по окончанию команд процессов.&lt;br /&gt;
&lt;br /&gt;
'''''Замечание.''''' По возможности, нужно избегать передачи значений другим объектам, в начальном состоянии машины, так как такие команды будут выполнятся даже тогда, когда машина будет выключена на визуальной сцене.&lt;br /&gt;
&lt;br /&gt;
=== draw ===&lt;br /&gt;
&lt;br /&gt;
Команда определяет графический ресурс (картинку, которую надо рисовать в данном состоянии). Её параметры:&lt;br /&gt;
&lt;br /&gt;
* '''res''' - ресурс картинки (перетаскивается из редактора ресурсов);&lt;br /&gt;
* '''f''' - начальный кадр;&lt;br /&gt;
* '''ft''' - длительность кадра в миллисекундах;&lt;br /&gt;
* '''loop''' - число повторов (зацикливаний анимации); если -1, то бесконечно; отсутствует или 0 - будет проигран один раз;&lt;br /&gt;
* '''rev''' - играть анимацию в обратном порядке; 0 - прямой порядок проигрывания, 1 - обратный порядок проигрывания;&lt;br /&gt;
* '''go''' - перейти в состояние;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] для условия перехода; можно использовать логические операторы (см. [[#if|if]]);&lt;br /&gt;
* '''break''' - прервать команды.&lt;br /&gt;
&lt;br /&gt;
Пустая команда draw (без параметров) &amp;quot;сбрасывает&amp;quot; текущую картинку и в этом состоянии ничего рисоваться не будет. Если в общих параметрах объекта (в базовой панеле свойств) задан ресурс рисования, и он во всех состояниях одинаков, то его можно в состоянии не задавать.&lt;br /&gt;
&lt;br /&gt;
Если параметра loop нет, кадры анимации проиграются один раз. Чтобы зациклить их, необходимо установить loop=-1 или нужное число раз. Аналогично параметру loop других команд, первый раз draw выполняется в любом случае. Дальнейшие её повторы определяются значением loop. Однако, в отличие от других команд, loop повторяет только '''данную''' команду draw (даже если она не первая).&lt;br /&gt;
Для работы loop '''необходимо''' чтобы в редакторе ресурсов в настройках анимации '''было отключено''' зацикливание(looped).&lt;br /&gt;
&amp;lt;br&amp;gt;Если есть анимация открывающейся и закрывающейся книги (коробки, двери и т.д.) не обязательно подгружать в проект две анимации, можно использовать одну, но запускать ее в обратном порядке, для этого есть параметр '''rev'''.&lt;br /&gt;
&lt;br /&gt;
=== init ===&lt;br /&gt;
&lt;br /&gt;
====Параметры объекта====&lt;br /&gt;
&lt;br /&gt;
* '''x''','''y''' - координата точки пивота относительно сцены или родительского объекта;&lt;br /&gt;
* '''ang''' - угол поворота в градусах; отчитывается вниз от оси x, или вверх, если отрицательный;&lt;br /&gt;
* '''al''' - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен);&lt;br /&gt;
* '''sx''','''sy''' - масштаб машины по осям (если 1, то это исходный размер; 0.5 - в два раза меньше);&lt;br /&gt;
* '''vis''' - видимость - видимость машины (1 - видима, 0 - невидима), если vis = 0, это равноценно отключению объекта в редакторе;&lt;br /&gt;
* '''z координата''' - координата машины по z.&lt;br /&gt;
* '''z приращение''' - приращение координаты машины по z относительно текущего&lt;br /&gt;
* '''прокликиваемая''' - если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то клик обрабатывается, но передается дальше;&lt;br /&gt;
&lt;br /&gt;
====Параметры движения====&lt;br /&gt;
&lt;br /&gt;
* '''v''' - скорость для команды move&lt;br /&gt;
* '''vr''' - угловая скорость для команды rot&lt;br /&gt;
* '''vx''','''vy''' - начальная скорость для команды phys&lt;br /&gt;
* '''ax''','''ay''' - ускорение для команды phys&lt;br /&gt;
&lt;br /&gt;
====Системные действия====&lt;br /&gt;
&lt;br /&gt;
* '''показать рейтинг''' - значение 1 означает, что при выполнении этого инита будет показано окно iOS рейтинга.&lt;br /&gt;
Если на девайсе была нажата кнопка &amp;quot;отрейтинговать&amp;quot;, то в опции запишется параметр rating значение 1, если нажата кнопка &amp;quot;позже&amp;quot; - rating 2, &amp;quot;никогда&amp;quot; - rating 3.&lt;br /&gt;
* '''закрыть приложение''' - значение 1 означает, что при выполнении этого инита приложение будет закрыто.&lt;br /&gt;
* '''перезагрузить лэйаут''' - значение 1 означает, что при выполнении этого инита будет перезагружен лэйаут.&lt;br /&gt;
* '''вернуться назад''' - начение 1 означает, что при выполнении этого инита произойдет возврат на предыдущий экран.&lt;br /&gt;
* '''реклама AdMob''' - 1 - показать, 0 - спрятать, -1 - не изменять состояние.&lt;br /&gt;
* '''курсор''' - меняет текущий курсор мыши на указанный графический ресурс. Перетягивается из редактора ресурсов, поле должно быть в состоянии редактирования.&lt;br /&gt;
* '''id внешней ссылки в текстовой базе''' - Ссыслка будет взята из текстовой базы в соответствии с текущим маркетом.&lt;br /&gt;
* '''[[#Clone|clone]]''' - Значение 1 означает, что в текущем местоположении машины будет создана ее копия, 2 - удалить все клоны, созданные данной машиной, 3 - удалить себя, если клон&lt;br /&gt;
&lt;br /&gt;
====Переходы и параметры выполнения====&lt;br /&gt;
&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] для условия выполнения; можно использовать логические операторы (см. [[#if|if]]);&lt;br /&gt;
* '''break''' - прервать команды.&lt;br /&gt;
&lt;br /&gt;
Так же, как и при инициализации картинки ('''draw'''), вызов команды ('''init''') переопределяет только те параметры, которые в ней указаны. Остальные параметры (заданные в других состояниях или в общих свойствах объекта) остаются без изменений&lt;br /&gt;
&lt;br /&gt;
=== set ===&lt;br /&gt;
&lt;br /&gt;
Перевод другого объекта в некоторое состояние или изменение его параметров.&lt;br /&gt;
&lt;br /&gt;
* '''obj''' - изменяемый объект (выбирается из списка объектов). В значении объекта можно указать this, это значит что машина сама себе пропишет какой то параметр или состояние.&lt;br /&gt;
* '''scr_param''' - глобальный либо текущий экран, параметры которого меняем.&lt;br /&gt;
* '''scr_state''' - экран, состояние которого меняем.&lt;br /&gt;
* '''parent''' - Объект, который будет установлен в качестве родителя объекту из obj. Объект obj будет оторван от текущего своего родителя и добавлен в детей объекта parent. При этом у obj сбивается значение Z. Если оно должно быть отличным от нуля, то нужно установить заново после смены родителя.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''st''' - состояние в которое переводится объект.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''par''' - параметр объекта для установки, используется вместе с val, val_obj, val_txt, val_scr,val_vid,val_res,val_node.&lt;br /&gt;
* '''mSt''' - Состояние машины в котором будем изменять параметр команды.&lt;br /&gt;
* '''mCmd''' - Имя команды, параметр которой меняем.&lt;br /&gt;
* '''mCmdN''' - Порядковый номер в перечне одноименных команд состояния.&lt;br /&gt;
* '''mPar''' - Установить этот параметр команды в значение val.&lt;br /&gt;
* '''val_obj''' - id объекта, будет записано в в par&lt;br /&gt;
* '''val_txt''' - id текста, будет записано в в par(параметр для текстов &amp;quot;txtID&amp;quot;)&lt;br /&gt;
* '''val_vid''' - id video, будет записано в par(параметр для видео &amp;quot;video&amp;quot; - RGB, &amp;quot;videoA&amp;quot; - Alpha)&lt;br /&gt;
* '''val_scr''' - id экрана, будет записано в в par&lt;br /&gt;
* '''val_res''' - Новое значение графического ресурса (перетаскивается из редактора ресурсов). (пока не работает)&lt;br /&gt;
* '''val_node''' - Новое нода графа (выбирается из списка, при заданном объекте)&lt;br /&gt;
* '''val''' - значение параметра объекта для установки&lt;br /&gt;
* '''var''' - имя переменной данной машины, значение которой присваивается в параметр par  объекта obj&lt;br /&gt;
* '''round''' - округлить значение, записываемое в val&amp;lt;br&amp;gt;&lt;br /&gt;
* '''position''' - объект указанный в поле '''obj''' будет отпозиционирован относительно указанного объекта в этом поле ( можно одновременно и задавать состояние '''st''' в которое перевести объект ( поле obj ) );  &lt;br /&gt;
* '''pos_dx''' - смещение по оси X от точки пивоты объекта из поля выше ( если это поле не указывать, смещение будет = 0 );&lt;br /&gt;
* '''pos_dy''' - смещение по оси Y от точки пивоты объекта из поля выше ( если это поле не указывать, смещение будет = 0 )&lt;br /&gt;
* '''scr''' - экран на который мы хотим перейти&lt;br /&gt;
* '''user''' - 1 - сохранять значения для текущего пользователя. Для всех типов объектов кроме options этот флаг игнорируется&amp;lt;br&amp;gt;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] при выполнении которого происходит отработка команды set. &lt;br /&gt;
* '''break''' - прервать выполнение команд set на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
&lt;br /&gt;
Так как все объекты (не только машины) имеют состояния, то при помощи команды set можно их менять. Стоит обратить внимание на то, что когда в параметрах (любых команд) встречается st, речь идет о состоянии другого объекта, а если go, то данной машины состояний.&lt;br /&gt;
&lt;br /&gt;
=== play ===&lt;br /&gt;
&lt;br /&gt;
Проиграть звук&lt;br /&gt;
&lt;br /&gt;
*'''snd''' - Короткий звук (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''voice''' - Голос (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''mus''' - Длинный звук (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''mus_field''' - Проиграть длинную музыку, id взяв из переменной машины, указанной в этом поле;   (К примеру у машины есть параметр location_music==&amp;quot;7695&amp;quot; и в mus_field=&amp;quot;location_music&amp;quot;. То машина проиграет длинную музыку с id 7695)&lt;br /&gt;
*'''preload''' - Указанный звук будет загружен в память, но не будет проигрываться прямо сейчас. Для ускорения его старта потом;&lt;br /&gt;
*'''loop''' - Зациклить указанный звук. Использовать вместе с snd или voice;&lt;br /&gt;
*'''mus_loop''' - Зациклить указанную музыку. По умолчанию музыка всегда зацикленна. То есть, фактически этой флаг используется, когда нужно убрать зацикливание.&lt;br /&gt;
*'''repeat''' - Число повторов указанного звука при отключенном loop;&lt;br /&gt;
*'''mus_stop''' - Остановить музыку. Если используется вместе с mus, то остановится указанная. Если нет - то вся текущая.&lt;br /&gt;
*'''stop''' - Остановить указанный звук. Использовать вместе с snd или voice.&lt;br /&gt;
*'''mus_fading''' - Время появления/затухания указанной музыки в ms. Использовать вместе с mus.&lt;br /&gt;
*'''fading''' - Время появления/затухания указанного звука. Использовать вместе с snd или voice. &lt;br /&gt;
*'''volume''' - Установить громкость для всех звуков данной машины - тех что уже играют и тех, что будут запущены впоследствии;&lt;br /&gt;
*'''не выгружать''' - Позволяет продолжать проигрывание звука при смене экранов.&lt;br /&gt;
*'''go''' - Выбор состояния, в которое нужно перейти после проигрывания музыки/звука/голоса.&lt;br /&gt;
*'''if''' - Номер (начиная с нуля) условия перехода [[#if|if]].&lt;br /&gt;
&lt;br /&gt;
Особенности применения:&lt;br /&gt;
&lt;br /&gt;
1) Короткий звук (''snd'') нельзя запустить в первом (инитном) состоянии машины. Для того, чтобы запустить звук сразу при загрузке экрана, нужно в первом состоянии машины записать мгновенный переход во второе состояние мамашины (например, команда ''wait'', поле ''go'', в поле выбрать второе состояние), а во втором состоянии уже запустить звук.&lt;br /&gt;
&lt;br /&gt;
2) Если звук нужно зациклить и проигрывать какое-то количество раз (''loop=1,2,3,..,n'') или бесконечно (''loop=-1''), то нужно проследить чтобы состояние, в котором запускается звук, не вызывалось повторно во время проигрывания звука, иначе возникнет наложение звуков.&lt;br /&gt;
&lt;br /&gt;
3) Если во время проигрывания звука машина меняет свое состояние, звук продолжает играть.&lt;br /&gt;
&lt;br /&gt;
4) Если в одной машине почти одновременно воспроизводится несколько звуков, то они прерывают друг друга.&lt;br /&gt;
&lt;br /&gt;
5) Если каждый звук воспроизводится в отдельной машине, то они звучат параллельно.&lt;br /&gt;
&lt;br /&gt;
6) Если не указан звук и голос, то команда (''stop'') остановит все звуки, запущенные этой машиной.&lt;br /&gt;
&lt;br /&gt;
7) Музыка (''mus'') может быть формата .ogg или .mp3. На экране может воспроизводится только одна .mp3 музыка. Любой запуск .mp3 музыки независимо от того, в какой машине он осуществляется, будет прекращать проигрывание предыдущей .mp3 музыки. В тоже время может воспроизводиться несколько .ogg музыки.&lt;br /&gt;
&lt;br /&gt;
8) Музыка, которая проигрывается на глобальном экране, проигрывается на всех экранах проекта.&lt;br /&gt;
&lt;br /&gt;
=== var ===&lt;br /&gt;
&lt;br /&gt;
Переменная, которой присваивается значение параметра объекта&lt;br /&gt;
&lt;br /&gt;
*'''name''' - имя переменной;&lt;br /&gt;
*'''tp''' - тип переменной;&lt;br /&gt;
*'''obj''' - объект, используемый далее;&lt;br /&gt;
*'''par''' - имя параметра, значение которого присваивается переменной;&lt;br /&gt;
*'''val''' - значение переменной, если отсутствуют obj и par;&lt;br /&gt;
*'''user''' - если стоит &amp;quot;1&amp;quot;, то будет считываться с текущего профиля в опциях&lt;br /&gt;
*'''func''' - в выпадающем списке можно выбрать функцию:&lt;br /&gt;
**'''random''' - использует arg1 и arg2, возвращает случайное целое число в диапазоне arg1 .. arg2.&lt;br /&gt;
**'''conc''' - объединяет 4 строки arg1,arg2,arg3,arg4. Возвращает строку, в которой соединены все строки&lt;br /&gt;
**'''exp''' - экспонента от аргумента arg1.&lt;br /&gt;
**'''ln''' - натуральный логарифм аргумента arg1.&lt;br /&gt;
*'''arg1''' - аргумент функции&lt;br /&gt;
*'''arg2''' - аргумент функции&lt;br /&gt;
*'''arg3''' - аргумент функции&lt;br /&gt;
*'''arg4''' - аргумент функции&lt;br /&gt;
&lt;br /&gt;
Обозначенная переменная существует (может использоваться) только в текущем состоянии. Переменная может определятся в одном состоянии только один раз. Если созданной переменной нужно изменить значение в рамках состояния, это можно сделать через другую переменную или через параметр опций ([[Options]]). Если ее значение нужно использовать в другом состоянии, то оно присваивается параметру опций, а затем заново считывается в новом состоянии. Переменные можно указывать в поле ''val'' с другими математическими действиями и цифрами, при этом каждое действие заключать в скобки. Если в поле ''val'' указать имя переменной ''А'' без скобок - воспримется строка ''А'', если указать в скобках - воспримется значение переменной.&lt;br /&gt;
&lt;br /&gt;
=== buy === &lt;br /&gt;
&lt;br /&gt;
'''(in-app совершить in-app покупку)'''&lt;br /&gt;
&lt;br /&gt;
При переходе в состояние, данная команда открывает системное окно с предложением совершить in-app покупку. В зависимости от действий игрока, покупка может произойти (успех) или не произойти (провал).&lt;br /&gt;
&lt;br /&gt;
* '''id покупки''' - внутренний id покупки для приложения, указывается в объекте [[Store]];&lt;br /&gt;
* '''объект(успех)''' - объект, которому сообщается об удачной покупке;&lt;br /&gt;
* '''состояние(успех)''' - состояние в которое переводится выбранный объект в случае успешной покупки;&lt;br /&gt;
* '''объект(провал)''' - объект, которому сообщается о неудачной покупке;&lt;br /&gt;
* '''состояние(провал)''' - состояние в которое переводится объект в случае неудачной покупки.&lt;br /&gt;
&lt;br /&gt;
=== download ===&lt;br /&gt;
 &lt;br /&gt;
'''(скачать загружаемый контент)'''&lt;br /&gt;
&lt;br /&gt;
При переходе в состояние будет совершена попытку закачать контент.&lt;br /&gt;
* '''url''' - ссылка на zip архив с контентом в интернете.&lt;br /&gt;
* '''объект успех''' - объект, которому в случае успешной закачки будет задаваться указанное состояние.&lt;br /&gt;
* '''состояние (успех)''' - состояние, которое будет устанавливаться выше указанному объекту, в случае успешной закачки.&lt;br /&gt;
* '''объект (провал)''' -объект, которому, в случае неудачи закачки, будет устанавливаться указанное состояние.&lt;br /&gt;
* '''состояние (провал)''' - состояние, которое, в случае неудачи закачки,будет устанавливаться выше указанному объекту.&lt;br /&gt;
* '''счетчик прогресса''' - объект, типа счетчик, который отображает прогресс закачки контента. Крайне желательно, что бы он измерялся в диапазоне от 0 до 100.&lt;br /&gt;
 &lt;br /&gt;
Существует несколько причин при которых вызывается состояние &amp;quot;провал&amp;quot;. Для того что бы сообщить пользователю, по какой именно причине возник провал закачки, следует идентифицировать причины провала. Это возможно сделать с помощью параметра &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
downloadErrCode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ниже приведены значение параметра которые помогут вывести нужное текстовое сообщение :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    GCUSTOM_ERROR_CODE_ERROR_UNKNOWN   = 1,    //!&amp;lt; ошибка не классифицирована&lt;br /&gt;
    GCUSTOM_ERROR_CODE_WIFI_DISABLED   = 2,    //!&amp;lt; отключен WIFI&lt;br /&gt;
    GCUSTOM_ERROR_CODE_SDCARD_UNAVAILABLE = 3,    //!&amp;lt; SD-карта недоступна&lt;br /&gt;
    GCUSTOM_ERROR_CODE_SDCARD_FULL   = 4,    //!&amp;lt; SD-карта переполнена перед закачкой&lt;br /&gt;
    GCUSTOM_ERROR_CODE_UNZIP_FAIL   = 5     //!&amp;lt; ошибка при распаковки пака (скорее всего на SD-карте не&lt;br /&gt;
    хватает места для распаковки &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Процессы ==&lt;br /&gt;
&lt;br /&gt;
Все команды процессов, кроме параметров описанных ниже, могут содержать параметры, совпадающие с именами других команд. В этих параметрах указывается номер (начиная с нуля) команды, которую надо запустить на выполнение, после окончания действия данной команды процесса.&lt;br /&gt;
&lt;br /&gt;
Если в команде процесса есть условие '''[[#if|if]]''', то после окончания работы команды она ждет пока это условие не выполнится. Только после этого переходит к следующей команде этого же типа&lt;br /&gt;
или в другое состояние (если есть параметр go).&lt;br /&gt;
Исключением является команда wait, которая '''не''' ждёт срабатывания '''[[#if|if]]'''. Если он по окончанию wait сработал, то происходит переходит в другое состояние, если есть параметр go.&lt;br /&gt;
Если параметра go нет, то в любом случае запускается следующий wait (т.е. if относится только к переходу go).&lt;br /&gt;
&lt;br /&gt;
=== wait ===&lt;br /&gt;
 &lt;br /&gt;
Команда паузы (временной задержки). Если параметра '''t''' нет, то срабатывает сразу.&lt;br /&gt;
Может также использоваться для логических ветвлений, случайных переходов в другие состояния и т.д.&lt;br /&gt;
&lt;br /&gt;
* '''t''' - длительность выполнения команды в ms;&lt;br /&gt;
* '''dt''' - интервал от t-dt до t+dt, внутри которого команда может быть случайно прервана (при t&amp;gt;t+dt прерывается в любом случае);&lt;br /&gt;
* '''p''' - вероятность срабатывания перехода в состояние, указываемое параметром go;&lt;br /&gt;
* '''go''' - состояние, в которое нужно перейти поле окончания времени и срабатывания условия [[#if|if]], если оно указано;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;&lt;br /&gt;
* '''loop''' - зациклить команды;&lt;br /&gt;
* '''break''' - прервать выполнение команд wait на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
Простейший набор параметров команды wait выглядит следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;1000&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;    // ждем 1000ms и покидаем состояние&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Для программирования объектов со случайным поведением можно использовать последовательность команд wait с параметром вероятности перехода p (от 0 до 1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; p=&amp;quot;0.5&amp;quot; go=&amp;quot;st1&amp;quot;/&amp;gt; // через t с вероятностью 1/2 перейдет в st1&lt;br /&gt;
&amp;lt;wait go=&amp;quot;st2&amp;quot;/&amp;gt; // иначе,  перейдем в st2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Этот же синтаксис позволяет делать состояния с различным временем жизни:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; p=&amp;quot;0.5&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt; // с вероятностью 1/2 живем 100ms&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;       // или 200ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Впрочем, последнюю задачу можно решить при помощи указывания интервала dt, внутри которого произойдет окончание команды. Так, состояние, живущее от 800 до 1200ms, реализуется следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;1000&amp;quot; dt=&amp;quot;200&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== move ===&lt;br /&gt;
&lt;br /&gt;
Перемещение по сцене:&lt;br /&gt;
* '''tx''', '''ty''' - целевые координаты в пикселях, к которым должен переместиться объект. Можно указывать переменные заданные с помощью [http://ge.absolutist.com/index.php/Machine#var_2 переменной var];&lt;br /&gt;
* '''dx''', '''dy''' - величина смещения от текущей (если есть - tx,ty игнорируются); можно задавать смесь tx, dy или dx,ty;&lt;br /&gt;
* '''v''' - скорость перемещения в пикселях в секунду; для фреймовой анимации, например, ходьбы скорость рассчитывается исходя из длительности одного кадра и числа кадров на фазу движения. Поэтому, в этом случае, удобнее задавать скорость;&lt;br /&gt;
* '''t''' - время перемещения (v игнорируется);&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go; команда ждет срабатывания условия, и не запускает следующую команду move, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд движения с первой команды;&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд move на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
В большинстве команд процессов, связанных с движением, величина изменения может быть задана в абсолютных или относительных величинах. Так, могут быть указаны целевые координаты tx, ty в которые надо переместиться, или смещение dx, dy относительно текущего положения объекта.&lt;br /&gt;
&lt;br /&gt;
Аналогично, скорость перемещения регулируется, либо явным заданием времени выполнения команды t, либо скоростью v. Исходя из требуемого расстояния, по этой скорости вычисляется необходимое время. Скорость задается в пикселях за секунду (а не миллисекунду!)&lt;br /&gt;
&lt;br /&gt;
=== rot ===&lt;br /&gt;
&lt;br /&gt;
Вращение объекта вокруг точки пивота с координатами px,py. Эти координаты задаются относительно верхнего левого угла объекта в общей секции описания параметров объекта или командой init в данном состоянии.&lt;br /&gt;
* '''ta''' - целевой угол поворота объекта;&lt;br /&gt;
* '''da''' - на сколько надо повернуться (ta игнорируется);&lt;br /&gt;
* '''v''' - угловая скорость поворота в градусах в секунду;&lt;br /&gt;
* '''t''' - время поворота (v игнорируется);&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду rot, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд движения с первой команды;&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд rot на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Угол отсчитывается от оси x. Если он положителен, то поворот происходит по часовой стрелке. Если отрицательный - против часовой.&lt;br /&gt;
&lt;br /&gt;
=== alpha ===&lt;br /&gt;
&lt;br /&gt;
Изменение прозрачности объекта. Меняется от 0 (полностью прозрачен) до 1 (непрозрачен)&lt;br /&gt;
* '''ta''' - целевая прозрачность&lt;br /&gt;
* '''da''' - на сколько надо изменить прозрачность от текущей (ta игнорируется)&lt;br /&gt;
* '''v''' - скорость изменения прозрачности (в долях единицы в ms)&lt;br /&gt;
* '''t''' - время изменения (v игнорируется)&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду alpha, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд alpha с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд alpha на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Если у объекта прозрачность ''al=0.00'', то он невидим для всякого взаимодействия. Если у объекта прозрачность ''al=0.01'', то он видим для клика, но невидим для дропа(команда drop на объект не видит объект с прозрачностью ''0.01''). Если у объекта ''al=0.02'', то он видим и для клика, и для дропа.&lt;br /&gt;
&lt;br /&gt;
=== scale ===&lt;br /&gt;
&lt;br /&gt;
Изменение размеров объекта&lt;br /&gt;
* '''tx''', '''ty''' - целевой масштаб по каждой оси&lt;br /&gt;
* '''dx''', '''dy''' - на сколько изменить масштаб по каждой оси&lt;br /&gt;
* '''v''' - скорость изменения масштаба (в долях единицы в сек.)&lt;br /&gt;
* '''t''' - длительность выполнения команды (v игнорируется)&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду scale, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд scale с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд scale на этой команде (запустить их сново можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
=== phys ===&lt;br /&gt;
&lt;br /&gt;
Команда phys позволяет имитировать простую физику. В ней задается начальная скорость и действующая на объект сила (ускорение).&lt;br /&gt;
&lt;br /&gt;
* '''vx''', '''vy''' - начальная скорость&lt;br /&gt;
* '''ax''', '''ay''' - величина ускорения по каждой оси&lt;br /&gt;
* '''a''' - полное ускорение&lt;br /&gt;
* '''tvx''', '''tvy''' - целевая скорость&lt;br /&gt;
* '''tx''', '''ty''' - целевая координата&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду phys, пока if не выполнится; &lt;br /&gt;
* '''loop''' - зациклить команды - Начать выполнение команд phys с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд phys на этой команде (запустить их снова можно из команд процессов). &lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим подпрыгивающий мячик, который при касании с землей деформируется (вертикально сплюскивается). Это можно сделать в 3 состояния (падаем, касаемся и взлетаем). Первоначально мячик находится в координате y=-100, и имеет высоту картинки w=60. Падает он до координаты ty=0. При касании с землёй, мяч сжимается на 20 процентов (sy=0.8). При этом его центр должен опуститься на dy=0.8*w/2 = 24.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;down&amp;quot;&amp;gt;                                    // падаем&lt;br /&gt;
    &amp;lt;phys vy=&amp;quot;0&amp;quot; ay=&amp;quot;20&amp;quot; ty=&amp;quot;0&amp;quot; go=&amp;quot;touch&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;touch&amp;quot;&amp;gt;                                   // касаемся земли&lt;br /&gt;
    &amp;lt;move dy=&amp;quot;24&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                       // опускаем центр при сжатии&lt;br /&gt;
    &amp;lt;scale ty=&amp;quot;0.8&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                     // сжимаемся&lt;br /&gt;
    &amp;lt;move dy=&amp;quot;-24&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                      // поднимаем центр при разжатии&lt;br /&gt;
    &amp;lt;scale ty=&amp;quot;1&amp;quot; t=&amp;quot;300&amp;quot; go=&amp;quot;up&amp;quot;/&amp;gt;               // разжимаемся&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;up&amp;quot;&amp;gt;                                      // взлетаем&lt;br /&gt;
    &amp;lt;phys vy=&amp;quot;0&amp;quot; ty=&amp;quot;-200&amp;quot; go=&amp;quot;down&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Напомним, что если объект имеет начальную скорость взлета, равную v=sqrt(2*ay*h), то он подпрыгнет на высоту h. Однако, в данном случае, вместо задания начальной скорости при взлете, мы задаем целевую координату (ty), до которой мяч должен подпрыгнуть.&lt;br /&gt;
&lt;br /&gt;
=== rgb ===&lt;br /&gt;
&lt;br /&gt;
* '''trgb''' - целевой эффект rgb; подразумевает под собой цвет в виде HEX-кода; по-умолчанию: FFFFFF;&lt;br /&gt;
* '''t''' - длительность выполнения команды в ms;&lt;br /&gt;
* '''go''' - состояние, в которое нужно перейти поле окончания времени и срабатывания условия [[#if|if]], если оно указано;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;&lt;br /&gt;
* '''loop''' - зациклить команды;&lt;br /&gt;
* '''break''' - прервать выполнение команд wait на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
=== spline ===&lt;br /&gt;
&lt;br /&gt;
Сплайн позволяет перемещать машину по заранее заданной траектории.&lt;br /&gt;
&lt;br /&gt;
====Параметры====&lt;br /&gt;
&lt;br /&gt;
*'''key''' - точки сплайна по которым движется &lt;br /&gt;
*'''t''' - время движения по траектории&lt;br /&gt;
*'''go''' - по окончанию переход в состояние&lt;br /&gt;
*'''if''' - условие перехода&lt;br /&gt;
*'''loop''' - количество повторений&lt;br /&gt;
*'''break''' - прервать команды на этой&lt;br /&gt;
*'''wait''' - номер запускаемого действия&lt;br /&gt;
*'''init''' - номер запускаемого действия&lt;br /&gt;
*'''alpha''' - номер запускаемого действия&lt;br /&gt;
*'''rot''' - номер запускаемого действия&lt;br /&gt;
*'''move''' - номер запускаемого действия&lt;br /&gt;
*'''set''' - номер запускаемого действия&lt;br /&gt;
*'''phys''' - номер запускаемого действия&lt;br /&gt;
*'''scale''' - номер запускаемого действия&lt;br /&gt;
*'''drow''' - номер запускаемого действия&lt;br /&gt;
&lt;br /&gt;
====Построение сплайна====&lt;br /&gt;
&lt;br /&gt;
# в состоянии машины добавляем правой кнопкой мыши действие &amp;quot;spline&amp;quot;&lt;br /&gt;
# добавляем минимально необходимые параметры: '''key''' и '''t''', указываем время движения в '''t'''&lt;br /&gt;
# выделяем для редактирования поле '''key'''&lt;br /&gt;
# записываем координаты точек через запятую, сначала x потом y, например: -211,-248,-151,-248,-91,-247,59,-246,60,101,60,159,1,190&lt;br /&gt;
Если записали все координаты вручную, то можно сохранить и проверять.&lt;br /&gt;
Или можно в окне списка состояний нажать на кнопку &amp;quot;build spline&amp;quot; (справа вверху).&lt;br /&gt;
[[Файл:Btn spline.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Окно с списком состояний закроется, появится дополнительная панель с настройками сплайна и появится возможность указывать мышкой по экрану точки для сплайна.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Spline panel.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Точки сплайна указываются кликом левой кнопки мыши по экрану.&lt;br /&gt;
&lt;br /&gt;
Возможности редактирования:&lt;br /&gt;
&lt;br /&gt;
'''режимы:'''&lt;br /&gt;
*'''add''' - по нажатию левой кнопкой мыши по экрану - будет добавлена новая точка, которая соединится с предыдущей&lt;br /&gt;
*'''select''' - по нажатию левой кнопкой мыши по точке сплайна появится возможность отредактировать её положение перетащив её или поменяв её координаты в полях x и у&lt;br /&gt;
*'''delete''' - по нажатию левой кнопкой мыши по точке сплайна точка удалится&lt;br /&gt;
&lt;br /&gt;
Чтобы удалить все точки сплайна необходимо нажать на кнопку &amp;quot;'''delete all knots'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Сохранить сплайн можно нажав на кнопку &amp;quot;'''Save spline'''&amp;quot;&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;
=== click ===&lt;br /&gt;
&lt;br /&gt;
Команда вызывается, если на объект кликнули мышкой. Срабатывает на её нажатие.&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды надо перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер  (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход go.&lt;br /&gt;
&lt;br /&gt;
По клику машина записывает координаты клика в параметры: clickX, clickY.&lt;br /&gt;
&lt;br /&gt;
=== touch_in ===&lt;br /&gt;
&lt;br /&gt;
Наведение мыши/пальца на машину, если палец &amp;quot;тащат&amp;quot; по экрану.&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== touch_out ===&lt;br /&gt;
Выведение мыши/пальца из машины, если палец &amp;quot;тащат&amp;quot; по экрану.&lt;br /&gt;
* '''go''' - состояние в которое при клике нужно перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при котором срабатывает переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== touch_up ===&lt;br /&gt;
&lt;br /&gt;
Отжатие мыши от машины&lt;br /&gt;
&lt;br /&gt;
* '''go''' - состояние в которое при отжатии мыши нужно перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при котором срабатывает переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== mouse_in ===&lt;br /&gt;
&lt;br /&gt;
Срабатывает при наведение мыши/пальца на машину даже если не нажата кнопка мыши, работает на desktop-ных системах (OSX, Windows)&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== mouse_out ===&lt;br /&gt;
Срабатывает при выведение мыши/пальца из машины даже если не нажата кнопка мыши, работает на desktop-ных системах (OSX, Windows)&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== drag ===&lt;br /&gt;
&lt;br /&gt;
Данная команда позволяет &amp;quot;таскать&amp;quot; объект по сцене нажав и удерживая клавишу мишки или (палец в случае сенсорного устройства) на нем.Так же есть возможность ограничить разрешенную область таскания, за пределы которой  объект вытащить невозможно. [[Файл:drag.jpg|right]]&lt;br /&gt;
* '''x1''' - разрешено таскать, когда координата объекта правее;&lt;br /&gt;
* '''x2''' - разрешено таскать, когда координата объекта левее;&lt;br /&gt;
* '''y1''' - разрешено таскать, когда координата объекта ниже;&lt;br /&gt;
* '''y2''' - разрешено таскать, когда координата объекта выше;&lt;br /&gt;
* '''if''' - номер команды условия (начиная с нуля) разрешения таскания;&lt;br /&gt;
* '''obj''' - объект у которого надо изменить состояние;&lt;br /&gt;
* '''st'''  - новое состояние объекта obj;&lt;br /&gt;
* '''за пивот''' - &amp;quot;да&amp;quot; - таскать объект за пивот, &amp;quot;нет&amp;quot; - за ту точку, за которую схватили&lt;br /&gt;
* '''приклеивать''' - приклеивать при клике к мышке.&lt;br /&gt;
&lt;br /&gt;
=== dragRot ===&lt;br /&gt;
&lt;br /&gt;
Данная команда позволяет вращать объект вокруг точки пивота.  Нажав и удерживая клавишу мишки или палец (в случае сенсорного устройства) на нем, мы можем вращать его по часовой либо против часовой стрелки. При многократном вращении вокруг своей оси значение его угла не накапливается, а обнуляется выходя за границы [360 ; -360] градусов. [[Файл:dragRot.jpg|right]]&lt;br /&gt;
* '''if''' - номер команды условия (начиная с нуля) разрешения таскания;&lt;br /&gt;
* '''obj''' - объект у которого надо изменить состояние;&lt;br /&gt;
* '''st'''  - новое состояние объекта obj;&lt;br /&gt;
* '''maxVel'''  - Максимальная скорость вращения градус/сек;&lt;br /&gt;
* '''objStart''' - объект при начале вращения;&lt;br /&gt;
* '''stStart''' - его новое состояние;&lt;br /&gt;
* '''objEnd''' - объект при завершении вращения;&lt;br /&gt;
* '''stEnd''' - его новое состояние; &lt;br /&gt;
'''''Замечание.'''''  ('''dragRot''') и обычный ('''drag''')  не работает если сцена таскаемая.&lt;br /&gt;
&lt;br /&gt;
=== drop ===&lt;br /&gt;
&lt;br /&gt;
Если нажатая кнопка мышки отпускается, вызывается эта команда. Обычно она используется в связке с командой drag&lt;br /&gt;
* '''obj''' - объект, на который надо уронить таскаемый объект;&lt;br /&gt;
* '''go''' - состояние в которое переходим при отпускании мышки;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) условия [[#if|if]] разрешения бросания.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим совместное применение команд drag и drop на следующей задаче. Пусть есть ключ и ящик. Ключ можно взять мышкой и перетащить, бросив на ящик. Ящик при этом должен постепенно стать прозрачным, а ключ уменьшиться до нуля. Машина состояний для ключа выглядит следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;drag&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;drag x1=&amp;quot;-350&amp;quot; x2=&amp;quot;350&amp;quot; y1=&amp;quot;-250&amp;quot; y2=&amp;quot;250&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;drop obj=&amp;quot;box&amp;quot; go=&amp;quot;open&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;open&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;set obj=&amp;quot;box&amp;quot; st=&amp;quot;open&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;scale tx=&amp;quot;0.01&amp;quot; ty=&amp;quot;0.01&amp;quot; t=&amp;quot;500&amp;quot; go=&amp;quot;hide&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;init x=&amp;quot;268&amp;quot; y=&amp;quot;30&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;scale tx=&amp;quot;1&amp;quot; ty=&amp;quot;1&amp;quot; t=&amp;quot;500&amp;quot; go=&amp;quot;drag&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ящик:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;close&amp;quot;&amp;gt;                        // начальное состояние ящика&lt;br /&gt;
    &amp;lt;init al=&amp;quot;1&amp;quot;/&amp;gt;                     // если его кто-то сюда переведет - он появится.&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;open&amp;quot;&amp;gt;              &lt;br /&gt;
    &amp;lt;alpha ta=&amp;quot;0&amp;quot; t=&amp;quot;500&amp;quot;/&amp;gt;            // исчезает по прозрачности за 500 ms&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Использование свойства &amp;quot;Условие перехода&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Можно прописать условие, при котором выполняется переход при дропе.&lt;br /&gt;
[[Файл:Drop_if.png|300px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
С помощью этого условия мы можем научить наш объект выполнять разные задачи в зависимости от того, как именно его дропнули.&lt;br /&gt;
Пусть есть объект который можно таскать. Когда объект не таскается должен быть включен флаер, привязанный к этому объекту. При клике на объект, он должен поворачиваться на 90 градусов. При дропе на соответствующую маску объект стает на свое место(Если выполнены условия, к примеру: установлен предыдущий объект и наш объект имеет правильный угол). Если дроп в любое другое место, то должен включится флаер.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы научить машину различать клик по ней и ее таскание сделаем следующее. Пропишем ей 2 состояния: click и drag, а также выставим ей параметр &amp;quot;хранить нажатость&amp;quot; = 1. В click будем вычислять координаты объекта и записывать объекту параметр допустимого смещения при котором таскание будет восприниматься как клик. (В данном примере эти параметры: cx, cy, vx, vy. А допустимое смещение составляет 10 пикселей.)&lt;br /&gt;
&lt;br /&gt;
В состоянии drag будем проверять попадает ли координата объекта при дропе в границы допустимого смещения. Для того чтобы сравнить параметр объекта с переменной, вычтем из нашего объекта, то что мы записали в click. В зависимости от условий и места дропа переходим в соответствующее состояние.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Click.png|330px]] [[Файл:Drag st.png|630px]]&lt;br /&gt;
&lt;br /&gt;
=== throw ===&lt;br /&gt;
 &lt;br /&gt;
Если на объект наступили мышкой, не отпуская кнопки, мышку оттащили и затем отпустили, вызывается команда throw со следующими параметрами:&lt;br /&gt;
* '''go''' - состояние, в которое, при клике, надо перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] разрешения бросания;&lt;br /&gt;
* '''force''' - получаемая скорость равна разнице пикселей от начала бросания (мышь нажата) до его конца (мышь отжата), умноженная на этот параметр. По умолчанию он равен 1.&lt;br /&gt;
&lt;br /&gt;
Сработав, эта команда задает начальные значения скорости для команды phys, поэтому должна использоваться совместно с ней (см. ниже пример).&lt;br /&gt;
&lt;br /&gt;
=== tap ===&lt;br /&gt;
&lt;br /&gt;
* '''go''' - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) условия [[#if|if]] разрешения бросания.&lt;br /&gt;
&lt;br /&gt;
=== apply ===&lt;br /&gt;
&lt;br /&gt;
Вызывается, если данная машина пересеклась с другой. Обычно используется в совокупности с throw, move, phys, drag.&lt;br /&gt;
* '''obj''' - сработает , если пересеклись с этим объектом;&lt;br /&gt;
* '''rm''' - радиус этой машины (если rm=0, то она считается прямоугольной)&lt;br /&gt;
* '''ro''' - радиус объекта obj (если ro=0, то он считается прямоугольным)&lt;br /&gt;
* '''shape''' - сработает, если пересеклись формы обьектов (полезно для png);&lt;br /&gt;
* '''x1''' - сработает, если центр объекта левее этого x-са;&lt;br /&gt;
* '''x2''' - сработает, если центр объекта правее этого x-са;&lt;br /&gt;
* '''y1''' - сработает, если центр объекта выше этого y-ка;&lt;br /&gt;
* '''y2''' - сработает, если центр объекта ниже этого y-ка;&lt;br /&gt;
* '''st''' - состояние, в которое надо перевести объект obj&lt;br /&gt;
* '''go''' - состояние, в которое надо перейти при срабатывании;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]] разрешения применения команды apply.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Screen_apply.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Блок схема работы '''apply'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Блок схема apply.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* Сначала у нас проверяется  координаты '''x1''', '''x2''', '''y1''', '''y2'''.&lt;br /&gt;
* Далее проверяет если '''obj'''&lt;br /&gt;
* Если '''obj''' нет, то идёт проверку, и выдаёт результат&lt;br /&gt;
(если при этом если '''x1''', '''x2''', '''y1''', '''y2''' нет, то они считаются по ширине и высоте всего экрана.)&lt;br /&gt;
* Если есть '''obj''', то проверяет есть ли радиусы '''rm''', '''ro'''.&lt;br /&gt;
* Если он есть, то значит у нас '''apply''' по кругам&lt;br /&gt;
* Если нет, то проверяем наличие '''x1''', '''x2''', '''y1''', '''y2'''.&lt;br /&gt;
* Если они есть, то проверка и результат.&lt;br /&gt;
* Если их нет, то проверка идёт по шейпам объектов, и выдаётся результат/&lt;br /&gt;
Если не будет стоять ни каких галочек, то проверка будет идти по шейпам объектов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пусть, например, есть снаряд, который при помощи мышки надо кинуть в &amp;quot;тыкву&amp;quot;. Если мы промахнулись, снаряд должен вернуться обратно, а с тыквой ничего не произойти. Если мы в тыкву попадаем, снаряд также возвращается, а тыква &amp;quot;взрывается&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;trow&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;init x=&amp;quot;-350&amp;quot; y=&amp;quot;150&amp;quot;/&amp;gt;                      // начальное положение&lt;br /&gt;
    &amp;lt;throw go=&amp;quot;fly&amp;quot;/&amp;gt;                             // бросаем&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;fly&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;phys ay=&amp;quot;100&amp;quot;/&amp;gt;                              // летим&lt;br /&gt;
    &amp;lt;apply y2=&amp;quot;300&amp;quot; go=&amp;quot;throw&amp;quot;/&amp;gt;                  // с землей&lt;br /&gt;
    &amp;lt;apply obj=&amp;quot;тыква&amp;quot; rm=&amp;quot;8&amp;quot; ro=&amp;quot;10&amp;quot; st=&amp;quot;bang&amp;quot;/&amp;gt; // с тыквой&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Условия ==&lt;br /&gt;
&lt;br /&gt;
=== if ===&lt;br /&gt;
&lt;br /&gt;
В состоянии может быть произвольное число команд if. Их номера (начиная с нуля) указываются&lt;br /&gt;
в параметре if других команд. Эти номера можно соединять при помощи логических связок:&lt;br /&gt;
* '''&amp;amp;''' - логическое '''и''' (вместо значка '''&amp;amp;''' можно использовать запятую ''',''');&lt;br /&gt;
* '''|''' - логическое '''или''';&lt;br /&gt;
* '''!''' - логическое '''не'''.&lt;br /&gt;
Пример записи логического выражения в поле if некоторой команды: '''(1&amp;amp;2)|(3&amp;amp;(!4))''',&lt;br /&gt;
что означает: выполняется if под номером 1 и под номером 2, или под номером 3 и не под номером 4.&lt;br /&gt;
&lt;br /&gt;
'''!!!Важно:''' нужно использовать полную скобочную структуру :  &amp;quot;((1&amp;amp;2)&amp;amp;3)&amp;quot; - правильно,  &amp;quot;1,2,3&amp;quot; - не правильно ( не гарантируется 100% адекватная работа).&lt;br /&gt;
&lt;br /&gt;
Логические связки используются также как математической логике или любом языке программирования. &lt;br /&gt;
Так:&lt;br /&gt;
* A '''&amp;amp;''' B - истинно, если истинны оба условия A и B;&lt;br /&gt;
* A '''|''' B - истинно, если истинно хотя бы одно условие (или оба);&lt;br /&gt;
* '''!''' А - истинно, если условие A ложно.&lt;br /&gt;
Скобки в логическом выражении определяют приоритет (порядок) выполнения логических операций.&lt;br /&gt;
Отметим несколько тождеств, справедливых при формировании логических высказываний:&lt;br /&gt;
* !(A &amp;amp; B) = (!A) | (!B)&lt;br /&gt;
* !(A | B) = (!A) &amp;amp; (!B)&lt;br /&gt;
* !(!A) = A&lt;br /&gt;
&lt;br /&gt;
Если при формировании условия (ниже) есть несколько проверок, то они соединены логическим '''и'''.&lt;br /&gt;
Т.е., если хотя бы одна из них не выполняется, то считается, что условие не выполнилось.&lt;br /&gt;
&lt;br /&gt;
Параметры команды:&lt;br /&gt;
* '''obj''' - находится ли объект obj в состоянии st или имеет ли его параметр par значение val. В этом поле можно указать this, это значит что if будет проводить проверку текущего объекта. Добавлено это вместе с параметром clone. Клоны рождаются и умирают в рамках одного экрана. Для различия клонов между собой машина имеет уникальный параметр &amp;quot;clone_num&amp;quot; у оригинала = -1, у клонов от 0 до N, собственно с помощью this машина может сама себя проверить клон ли она и если да то какой у нее номер;&lt;br /&gt;
* '''st''' - имя состояния в котором может находиться объект obj;&lt;br /&gt;
* '''par''' - имя параметра объекта obj, значение которого сравнивается с полем val;&lt;br /&gt;
* '''val''' - значение параметра par, которое проверяется у объекта obj;&lt;br /&gt;
* '''val_txt''' - Значение текстового параметра объекта для проверки условия;&lt;br /&gt;
* '''val_res''' - Значение ресурсного параметра объекта для проверки условия;&lt;br /&gt;
* '''val_obj''' - Значение id объекта для проверки условия;&lt;br /&gt;
* '''op''' - операция сравнения par op val. Если операции нет, то предполагается проверка на равенство par=val. Иначе используются операторы:&lt;br /&gt;
** '''&amp;lt;''' - меньше (par &amp;lt; val);&lt;br /&gt;
** '''&amp;gt;''' - больше (par &amp;gt; val);&lt;br /&gt;
** '''!=''' - не равно (par != val);&lt;br /&gt;
** '''&amp;lt;&amp;gt;''' - не равно (par &amp;lt;&amp;gt; val);&lt;br /&gt;
** '''&amp;gt;=''' - больше или равно (par &amp;gt;= val);&lt;br /&gt;
** '''&amp;lt;=''' - меньше или равно (par &amp;lt;= val);&lt;br /&gt;
* '''curScr''' - если текущий экран совпадает с этим, то условие выполнилось;&lt;br /&gt;
* '''prScr''' - если предыдущий экран совпадает с этим, то условие выполнилось;&lt;br /&gt;
* '''wasScr''' - если был (когда либо) этот экран, то условие выполнилось.&lt;br /&gt;
* '''buy''' - был ли куплен данный inn-app (проверяется флаг поля в объекте [[Options]]);&lt;br /&gt;
* '''url''' - валиден (правилен и может быть запущен) ли данный интернет-адрес; на ios ссылка должна выглядеть так comabsolutisttwilighttown://, т.е. в конце ссылки добавляем ://&lt;br /&gt;
* '''is_mus''' - играет ли сейчас музыка (значение 1);&lt;br /&gt;
* '''guest''' - объект который установил состояние (используется вместо параметра obj). Если указанный объект не менял состояние этой машины, то условие не срабатывает.&lt;br /&gt;
&lt;br /&gt;
Если использовать obj, par, val, то будет происходить проверка на равенство значения параметра объекта и значения записанного в поле val.&lt;br /&gt;
Если же использовать obj, par, op, val, то будет происходить проверка в соответствии с операцией сравнения значения параметра объекта и значения записанного в поле val.&lt;br /&gt;
&lt;br /&gt;
Для проверки текущего значения прозрачности у объекта можно воспользоваться параметром ''cur_al''&lt;br /&gt;
&lt;br /&gt;
У машины (другой или самой себя) можно проверить текущее состояние '''st''' и предыдущее состояние '''prev_st''', эти параметры живут на время сессии.&lt;br /&gt;
&lt;br /&gt;
== Математика ==&lt;br /&gt;
&lt;br /&gt;
=== Основные математические операции ===&lt;br /&gt;
Математика в appsalute creator представлена 6-ю основными операциями: (плюс),  (минус),  (умножить),  (поделить), (целочисленное деление), (остаток от деления) &amp;lt;br&amp;gt;&lt;br /&gt;
Организована благодаря совместному использованию '''[[#var|var]]''' и '''[[#set|set]]'''. &lt;br /&gt;
[[Файл:Example_mod.png|300px|right|Пример использования операции остатка от деления]]&lt;br /&gt;
''(плюс)'' '''+'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(минус)'' '''-'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(умножить)'' '''*'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(поделить)'' '''/'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(целочисленное деление)'' '''\'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(остаток от деления)'' '''%'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Примеры использования последних двух операций:&amp;lt;br&amp;gt;&lt;br /&gt;
5\2=2&amp;lt;br&amp;gt;&lt;br /&gt;
5%2=1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== var ===&lt;br /&gt;
Благодаря использованию '''[[#var|var]]''' существует возможность cчитать любой числовой параметр любого объекта. Например: x - координату какой-то машины, текущее значение любого объекта counter или timer и конечно же считывание значения любого параметра из опций! Каким образом это устроено? Рассмотрим подробнее '''[[#var|var]]''': &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:VAR.png|right]]&lt;br /&gt;
*'''name''' - здесь выбираем имя для нашей будущей переменной, которой будем оперировать далее&lt;br /&gt;
*'''obj''' - выбирается объект, параметры которого мы хотим считать&lt;br /&gt;
*'''par''' - параметр, который нужно вычитать из объекта, указанного выше&lt;br /&gt;
*'''val''' - указывается числовое значение, которое будет установлено по умолчанию в случае отсутствия obj и par&lt;br /&gt;
*'''user''' - если стоит &amp;quot;1&amp;quot;, то будет считываться с текущего профиля в опциях&lt;br /&gt;
На изображении справа можно наблюдать каким образом организован '''[[#var|var]]'''. В данном случае объявлена переменная x_cor, которая считывает x-координату объекта actor_1, при этом считывание переменной происходит из текущего профиля, так, как в поле user установлено значение равное &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== set ===&lt;br /&gt;
[[Файл:SET.png|right]]&lt;br /&gt;
Использование '''[[#var|var]]''' без '''[[#set|set]]''' не имеет смысла. Так, как переменная создается, но не используется дальше. Рассмотрим следующий пример, где вычитаем x - координату из одного объекта и сохраним ее в опции, предварительно увеличив ее на 50 единиц (в данном случае 50 пикселей).&lt;br /&gt;
На рисунке справа можно наблюдать, каким образом это сделано. В состоянии '''init''' объявляется переменная '''x_cor''', которая считывает координату '''x''' из объекта '''actor_1''', таким образом в переменную '''x_cor''' запишется положение по '''x''' объекта '''actor_1'''. Поле '''user''' в данном случае в '''1''' не обязательно устанавливать, так как работа ведется с машинами, а не с опциями. Если бы на месте '''actor_1''' оказался объект '''options''', то это было бы просто необходимо, иначе программа считает значение не из профиля. Далее в '''[[#set|set]]''' выбран объект '''options''',  в параметр '''x_position''' которого будет сохранятся значение переменной '''x_cor''' увеличенной на 50. В поле '''round''' идет округление вычисляемого значения, если оно установлено в 1. Поле '''user ''' установлено в 1, это значит, что параметр '''x_position''' будет сохранен в профиль. После это выполняется сохранение опций путем задания объекту '''options''' состояния '''save'''.&amp;lt;br&amp;gt;&lt;br /&gt;
! ! !ВАЖНО: чтобы выполнить какие-то действия с '''[[#var|var]]''' его обязательно нужно указывать в поле '''val''' в '''set''', при этом, если он используется, то все выражение должно стоять в скобках. Если в поле '''val''' не используется переменная, то скобки необязательны.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Существует также возможность использовать '''[[#var|var]]''' совместно с '''[[#if|if]]''', а также '''[[#var|var]]''' с '''[[#move|move]]'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 Так же добавилась возможность записывать значение переменной в состояние &amp;quot;st&amp;quot;, что значительно уменьшает&lt;br /&gt;
 необходимость в записи 1000 if-ов. При этом, тип переменной в '''[[#var|var]]''' должен быть &amp;quot;строка&amp;quot;.&lt;br /&gt;
 И добавилась возможность записи переменной boolean: ((a)==(b)). true = 1, false = 0. Довольно полезная вещь,&lt;br /&gt;
 если не хотите забивать &amp;quot;память&amp;quot; ненужной математикой.&lt;br /&gt;
&lt;br /&gt;
=== var и if ===&lt;br /&gt;
[[Файл:IF.png|right]]&lt;br /&gt;
При подробном рассмотрении '''[[#if|if]]''' можно заметить, что в нем есть поле '''val''', соответственно в этом поле можно указать переменную. Таким образом в поле '''val''' необязательно указывать константу, а можно указать какую-то переменную, которая может постоянно изменяться. Например, существует два объекта, один находится состоянии покоя, а другой находится в движении. При этом первый объект (тот, который в состоянии покоя) постоянно опрашивает положение второго объекта, и в случае, если у объекта, который движется, '''х''' координата  равна '''х''' координате первого объекта, то первый объект входит в состояние, где он начинает свое движение. На рисунке показан объект, который находится в состоянии покоя, рассмотрим его состояния:&amp;lt;br&amp;gt;&lt;br /&gt;
В данном объекте существует два состояния: '''init''' и '''move'''. В '''init''' объект опрашивает другой объект и в случае, когда условие срабатывает, то переходит в состояние '''move''', где начинает свое движение.&lt;br /&gt;
В '''init''' создаем переменную, в которую записываем положение по '''x''' объекта '''actor_2''', в '''if''' проверяется условие на соответствие координат объектов '''actor_1''' и '''actor_2''', в данном случае координата объекта '''actor_2''' представлена в виде переменной '''x_cor'''. Если условие выполняется, то происходит переход в состояние '''move''', если нет, то заново проходим состояние '''init''' и повторяем вышеописанную последовательность действий.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== var и move ===&lt;br /&gt;
Также с помощью '''[[#var|var]]''' есть возможность указать целевые координаты в '''[[#move|move]]'''. То есть, не обязательно указывать целевые координаты в виде констант, их можно указать теперь с помощью переменных. При использовании '''[[#var|var]]''' и '''[[#move|move]]''' можно организовать обмен двух объектов местами с анимацией движения. Для этого необходимо определять какой объект нажат первым, а какой вторым, сохранять их координаты через объект '''options''' и только потом менять их местами. На рисунке можно увидеть, как это организовано.&lt;br /&gt;
[[Файл:var_move.png|1000px|thumb|center|]]&lt;br /&gt;
Рассмотрим подробнее состояние данной машины:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''init'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии ожидаем клик на объект и обнуляем параметр, который отвечает за то, какой по счету объект сейчас нажат. Так, как при обмене объектов, если мы делаем это по клику, важно знать, по какому кликнули  первым, а по какому вторым.&lt;br /&gt;
* '''check'''&amp;lt;br&amp;gt;&lt;br /&gt;
Проверяется параметр '''number''', если он равен '''0''', то это значит, что еще ничего не кликали и мы переходим в состояние, где в опции записываются координаты этого объекта, который считается нажатым первым. Если не равен '''0''', то считается, что этот объект нажат вторым и переходит в состояние, где в опции записываются координаты этого объекта, который считается нажатым вторым по счету.&lt;br /&gt;
* '''first_object'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии записываются координаты объекта в опции. Чтобы записать координаты в опции используются '''[[#var|var]]''' и '''[[#set|set]]''' упоминаемые выше. В опции координаты первого нажатого объекта сохраняются под параметрами '''x_first''' и '''y_first'''. В конце параметру '''number''' присваиваем значение '''1''', чтобы указать, что следующий нажатый объект будет вторым по счету. &lt;br /&gt;
* '''second_object'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он будет нажатым вторым по счету, то есть после состояния '''check''' объект попадет в это состояние, где он запишет свои текущие координаты под параметрами '''x_second''' и '''y_second'''. Запись координат происходит таким же самым образом, что и в состоянии '''first_object'''. После этого он автоматически переходит в следующее состояние.&lt;br /&gt;
* '''move_first'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он был нажат первым, поэтому он будет двигаться на место второго нажатого объекта, который сохранил свои координаты в параметры'''x_second''' и '''y_second'''. Движение происходит следующим образом: сперва в переменную вычитываем координаты второго объекта, а потом в '''move''' вместо целевых координат записываем переменные, которые обязательно должны быть взяты в скобки.&lt;br /&gt;
* '''move_second'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он был нажат вторым, поэтому он будет двигаться на место первого нажатого объекта, который сохранил свои координаты в параметры '''x_first''' и '''y_first'''. Движение происходит следующим образом: сперва в переменную вычитываем координаты первого объекта, а потом в '''move''' вместо целевых координат записываем переменные, которые обязательно должны быть взяты в скобки.&lt;br /&gt;
&lt;br /&gt;
В результате проделанных манипуляций с машинами по кликам на две машины, они обменяются местами с анимацией движения. Это может быть очень полезным во многих мини играх!!!&lt;br /&gt;
&lt;br /&gt;
=== Важно знать ===&lt;br /&gt;
* Переменная действует в рамках одного состояния, если нужно, чтобы она была глобальной, нужно сохранить ее в опции и потом в нужный момент считывать ее из опций.&lt;br /&gt;
* Если складываем два числа, то в поле '''val''' они должны быть записаны в скобках: (5+3).&lt;br /&gt;
* Если возникает необходимость написать какое-то более сложное арифметическое вычисление, то следует помнить, что на одно действие приходятся одни скобки. Например: (((5+3)\2)*2).&lt;br /&gt;
* Количество открывающих и закрывающих скобок должно быть одинаковым.&lt;br /&gt;
* В скобках можно писать переменную, если она была объявлена выше: (5+a).&lt;br /&gt;
* Переменная может состоять из цифр и букв и знака нижнего подчеркивания.&lt;br /&gt;
* Иногда бывает необходимым использование '''round''' в '''set''', так например, если какой-то параметр получен с помощью арифметических вычислений и потом используется его в каком-то условии, и условие проверяет параметр, как целочисленное значение, то могут возникнуть ошибки. Так, как число будет записано в следующем виде 123.0000 и программа будет считать, что оно не целочисленное, а дробное. И чтобы избавится от лишних нулей  в дробной части следует округлять число.&lt;br /&gt;
* Действия, которые требуют времени, такие как move, rot, wait и другие перестают работать для уменьшения вычислительной нагрузки на устройство.&lt;br /&gt;
* Действия, которые не требуют времени, такие как set, init и другие продолжают функционировать.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если с помощью переменной менять объекту любой параметр, например, координату X, то она&lt;br /&gt;
запомнится (запишется как значение по умолчанию).&lt;br /&gt;
Тогда при повторном попадании на экран считается не тот X, который указан в свойствах,&lt;br /&gt;
а тот, который установлен через переменную.&lt;br /&gt;
Если нужно при ините экрана возвращать начальные значения параметров,&lt;br /&gt;
то можно сделать это двумя способами:&lt;br /&gt;
- не использовать переменную;&lt;br /&gt;
- создать отдельное состояние, которое будет &amp;quot;вручную&amp;quot; устанавливать начальные значения&lt;br /&gt;
параметрам при ините экрана.&lt;br /&gt;
Если координата (или другой параметр) меняется другим способом, то будут автоматически&lt;br /&gt;
при ините экрана подтягиваться значения из свойств объекта.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Примеры применений ===&lt;br /&gt;
С помощью математики можно организовать следующее:&lt;br /&gt;
* динамические опции (изменение звука и музыки с помощью ползунка);&lt;br /&gt;
* анимацию каунтера в играх (по окончанию уровня можно наблюдать, как изменяются очки);&lt;br /&gt;
* подсчет очков (гибкая система подсчета очков);&lt;br /&gt;
* обмен объектов местами (использование var и move)&lt;br /&gt;
* увеличение z-координаты любого объекта (когда необходимо, чтобы нажатый или таскаемый объект был выше других по z);&lt;br /&gt;
* простейший калькулятор;&lt;br /&gt;
* и много других.&lt;br /&gt;
&lt;br /&gt;
== Копирование машины состояния с сохранением ссылки на себя ==&lt;br /&gt;
Довольно часто бывает, что машина состояний ссылается только на глобальные объекты и на саму себя. При этом, если мы просто скопируем объект, он будет ссылаться на свою предыдущую копию. Этого можно избежать, сделав 3 шага:&lt;br /&gt;
1. Переместить объект в отдельную сцену&lt;br /&gt;
2. Скопировать данную сцену(имеется в виду обычное копирование, без ссылки)&lt;br /&gt;
3. Перенести объект и его копию обратно, в нужную сцену&lt;br /&gt;
4. Созданные сцены можно удалить :)&lt;br /&gt;
&lt;br /&gt;
== Guest ==&lt;br /&gt;
&lt;br /&gt;
'''Guest (гость)''' - объект, который перевел машину в текущее состояние. Пример: кнопка ''btn1'' по клику переводит машину ''mch1'' в состояние ''st1'', в этом состоянии у машины ''mch1'' гостем является кнопка ''btn1''. Гостем может быть объект любого типа, если он может менять состояние другому объекту (например: хидден-объект по нахождению может менять состояние объекту, кнопка, машина, пэчворк и т.д.)&lt;br /&gt;
&lt;br /&gt;
В машине состояний можно считывать (проверять) и передавать параметры и состояния гостя. Любое поле ''obj'' в выпадающем списке содержит строку ''guest'', что позволяет работать с гостем, как с любым другим объектом.&lt;br /&gt;
&lt;br /&gt;
=== Пример использования ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Guest1.jpg|left]]&lt;br /&gt;
Пускай экран содержит 3 кнопки (''btn1'', ''btn2'' и ''btn3'') и одну машину ''mch1''. Нужно сделать так, чтобы по клику на любую из кнопок машина перемещалась в ее координаты и переводила кнопку в состояние ''disable''. Так же по клику на кнопку ''btn2'', машина должна перейти в состояние ''bonus''.&amp;lt;br&amp;gt;&lt;br /&gt;
Всем трем кнопкам по клику пропишем передавать объекту ''mch1'' состояние ''check''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Создадим в машине три состояния: ''init'' - состояние в котором машина будет находиться по умолчанию, ''check'' - состояние, которое будет вызываться тремя кнопками, в этом состоянии у машины ''mch1'' одна из трех кнопок будет гостем, ''bonus'' - последнее состояние.&amp;lt;br&amp;gt;&lt;br /&gt;
Две команды ''var'' считывают у гостя координаты, т.к. мы не знаем, какая именно кнопка перевела машину ''mch1'' в состояние ''check'', то обращаемся к гостю, а не к кнопкам. За ними следует две команды ''set'', которые передают координаты гостя машине. Еще один ''set'' переводит гостя в состояние ''disable''. И через ''wait'' осуществляется переход в состояние ''bonus'', если гость ''btn2''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
При смене состояния гость сохраняется, т.е. в состоянии bonus гостем останется btn2.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если машина изначально сама себе меняет состояния, то у нее нет гостя.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Guest2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Массив (Array) ==&lt;br /&gt;
&lt;br /&gt;
В данном объекте реализован массив, имеющий максимальную длину в 20 элементов.&lt;br /&gt;
&lt;br /&gt;
=== Свойства объекта массив: ===&lt;br /&gt;
&lt;br /&gt;
len - длинна массива. Длинна массива может как считываться, так и записываться. Влияет на количество сохраняемых объектов в Options.&lt;br /&gt;
&lt;br /&gt;
index1 - индекс элемента. (данный массив можно расширить до многомерного и использовать несколько индексов)&lt;br /&gt;
&lt;br /&gt;
val - значение элемента массива, с индексом index1&lt;br /&gt;
&lt;br /&gt;
a1..a20 - внутренние элементы массива(обращаться можно через свойство par объекта). Предполагается, что пользователь редактора к ним обращаться напрямую не будет, однако иногда для удобства полезны.&lt;br /&gt;
&lt;br /&gt;
=== Состояния объекта массив: ===&lt;br /&gt;
&lt;br /&gt;
get - при вызове этого состояния во внутреннюю переменную val записывается значение элемента с индексом index1&lt;br /&gt;
&lt;br /&gt;
set - при вызове этого состояния во внутреннюю переменную a1..a20, соответствующую индексу index1 записывается значение val&lt;br /&gt;
&lt;br /&gt;
load - загрузить значения массива из xml.&lt;br /&gt;
&lt;br /&gt;
save - сохранить элементы массива от 1 до len&lt;br /&gt;
&lt;br /&gt;
=== Как использовать? ===&lt;br /&gt;
&lt;br /&gt;
1. Загружаем массив, переводя объект array в состояние load&lt;br /&gt;
&lt;br /&gt;
2. Записываем значения массива&lt;br /&gt;
&lt;br /&gt;
 а). Задаём значение свойству index1 объекта array (устанавливаем индекс ячейки, в которую будет заноситься число)&lt;br /&gt;
 б). Задаём значение свойству val объекта array (устанавливаем значение, которое будет заноситься в ячейку&lt;br /&gt;
     с индексом index1)&lt;br /&gt;
 в). Переводим объект array в состояние set&lt;br /&gt;
&lt;br /&gt;
3. Считываем значения массива&lt;br /&gt;
 а). Задаём значение свойству index1 объекта array (устанавливаем индекс ячейки, из которой будет считываться число)&lt;br /&gt;
 б). Переводим объект array в состояние get&lt;br /&gt;
 в). Считываем значение из свойства val объекта array&lt;br /&gt;
&lt;br /&gt;
4. Сохраняем массив, переводя объект array в состояние save. Если хотите изменить количество сохраняемых элементов - предварительно измените параметр len.&lt;br /&gt;
&lt;br /&gt;
=== Копирование объекта ===&lt;br /&gt;
&lt;br /&gt;
При копировании, необходимо заменить в состояниях load и save array.имя_параметра на другое имя. Например, array2.имя_параметра. Копировать следует через использование доп. сцены (см. выше)&lt;br /&gt;
&lt;br /&gt;
=== Достоинства ===&lt;br /&gt;
&lt;br /&gt;
Позволяет избежать необходимости каждый раз создавать большое количество if-ов и set-ов, если необходимо работать с нумерованным списком. Можно один раз создать структуру и копировать её неограниченное количество раз&lt;br /&gt;
&lt;br /&gt;
=== Недостатки ===&lt;br /&gt;
&lt;br /&gt;
Данный объект содержит довольно большое количество кода, поэтому при большом их обилии/длине может занизить скорость работы сцены и скорость загрузки сцены.&lt;br /&gt;
&lt;br /&gt;
=== Исходный XML код===&lt;br /&gt;
Прим. id=&amp;quot;369&amp;quot; - идентификатор объекта Options, сохраняющего все переменные приложения. id=&amp;quot;7845&amp;quot; - идентификатор объекта&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;obj id=&amp;quot;7845&amp;quot; type=&amp;quot;machine&amp;quot; nm=&amp;quot;array&amp;quot; sync=&amp;quot;1&amp;quot; w=&amp;quot;1&amp;quot; h=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;init&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;get&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;set&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;val&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;load&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a1&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a2&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a3&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a4&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a5&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a6&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a7&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a8&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a9&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a10&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a11&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a12&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a13&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a14&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a15&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a16&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a17&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a18&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a19&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a20&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;save&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;len&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a1&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a2&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a3&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a4&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a5&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a6&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a7&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a8&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a9&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a10&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a11&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a12&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a13&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a14&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a15&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a16&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a17&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a18&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a19&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a20&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.len&amp;quot; val=&amp;quot;(len)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
            &amp;lt;/obj&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машина состояний объекта ===&lt;br /&gt;
[[Файл:array.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пример использования ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/machine.rar Download]&lt;br /&gt;
&lt;br /&gt;
== Clone ==&lt;br /&gt;
Clone - параметр команды init в разделе &amp;quot;системные действия&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Clone1.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Значение 1 означает, что в текущем местоположении машины будет создана ее копия.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Clone2.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства ===&lt;br /&gt;
&lt;br /&gt;
1) Клонированная машина состояний имеет все свойства, состояния и параметры исходного объекта клонирования.&lt;br /&gt;
&lt;br /&gt;
2) Клоны рождаются и умирают в рамках одного экрана.&lt;br /&gt;
&lt;br /&gt;
3) Клоны отличаются друг от друга лишь параметром '''clone_num''', который у оригинала равен &amp;quot;-1&amp;quot;, а у клонов от 0 до N.&lt;br /&gt;
&lt;br /&gt;
4) Нежелательно применять клонирование к клону во избежание путаницы значений параметра '''clone_num'''.&lt;br /&gt;
&lt;br /&gt;
5) Если при проверке условия [[#if|if]] в поле '''obj''' указать this, это значит что if будет проводить проверку текущего объекта.  Таким образом машина может сама себя проверить по параметру '''clone_num''' клон ли она и если да то какой у нее номер;&lt;br /&gt;
&lt;br /&gt;
=== Пример использования ===&lt;br /&gt;
&lt;br /&gt;
По ссылке пример использования с подробным описанием машин.&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/Clone.zip Download]&lt;br /&gt;
&lt;br /&gt;
== Параметр команды машины состояний ==&lt;br /&gt;
&lt;br /&gt;
В случае, когда необходимо изменить значение какого-либо параметра в командах машины состояний (например v в команде move) в процессе работы приложения, можно использовать блок &amp;quot;Параметр команды машины состояний&amp;quot; в команде ''set'' машины состояний. Приведу пример использования этого блока.&lt;br /&gt;
&lt;br /&gt;
Пусть есть 2 машины: управляющая и управляемая.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Stm1.jpg|300px]][[Файл:Stm2.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
Управляемая машина практически пустая и не содержит каких либо данных о движении, но тем не менее при запуске она будет двигаться, меняя направление. Это движение - заслуга управляющей машины, которая на ходу изменяет параметры движения управляемой. Рассмотрим более детально ее состояния.&lt;br /&gt;
&lt;br /&gt;
В первом состоянии &amp;quot;wait&amp;quot; мы пытаемся изменить скорость движения управляемой машины. Для этого указали объект (sun), состояние в котором хотим поменять параметр (у машины sun это состояние move), имя команды в которой меняем параметр (в данном случае это move), номер команды (если таких команд несколько, то нужно указать порядковый номер начиная с 0; в нашем случае команда одна), имя параметра (мы хотим изменить скорость, поэтому имя параметра v) и значение (указали значение 200). После этого переходим в следующее состояние.&lt;br /&gt;
&lt;br /&gt;
В состоянии &amp;quot;1&amp;quot; управляющей машины сначала мы вывели объект sun из состояния move, изменили параметр целевой координаты x на 512 и затем вернули в состояние move, чтобы применить изменения параметров. Таким образом управляемая машина начала движение в x=512 со скоростью 200. Через 2 секунды мы переводим управляющую машину в состояние &amp;quot;2&amp;quot;, где аналогичным образом изменяется целевая координата на -512.&lt;br /&gt;
&lt;br /&gt;
Такой способ задания параметров может найти применение в случае, когда параметры нужно задавать переменными.&lt;br /&gt;
&lt;br /&gt;
==Запись в viewer.log ==&lt;br /&gt;
&lt;br /&gt;
Во время работы приложения, машина состояний может писать информацию о своей работе в viewer.log. Для этого параметр '''Level''', в разделе '''[GameTrace]''' файла '''app.icf''' должен быть выставлен в значение '''Verbose'''.&lt;br /&gt;
&lt;br /&gt;
При этом нужно иметь ввиду, что приложение работает более медленно, чем при обычном использовании. При настройке процессов, привязанных к времени (анимация и т.д.) логирование нужно отключать, путем установки флага '''Level''' в значение '''Info'''.&lt;br /&gt;
&lt;br /&gt;
Ниже приведен пример записи из viewer.log. Жирным шрифтом выделено полезную информацию. &lt;br /&gt;
&lt;br /&gt;
*Machine::state() state machine '''stat_google_gold (id:30818)''' from '''enough_coins''' to '''enough_coins''' through object '''c_current_gold (id:8807)''' from state '''inc''' - машина с именем и id: '''stat_google_gold (id:30818)''' перешла из состояния: '''enough_coins''' в: '''enough_coins'''; ее состояние изменил объект с именем и id: '''c_current_gold (id:8807)''' из состояния: '''inc'''.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:17''' - машина с id '''(id:28076)''' начала выполнять команду '''set id:17'''; сначала проверяется истинно ли условие выполнения команды (if).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(0)=no''' - имеем некоторое сложное условие, проверяем его составляющие; if(0) не выполняется (имеет значение false).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(1)=yes''' - условие if(1) выполняется (имеет значение true).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(2)=yes''' - условие if(2) выполняется (имеет значение true).&lt;br /&gt;
*GMachine::Command::checkIf() GMachine'''(id:28076)'''::Command::'''checkIf id:17 expr:((0|(!1))|(!2)) res:false''' - проверяется все выражение; общий результат false, set(17) не выполняется.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18''' - машина с id '''(id:28076)''' начала выполнять команду '''set id:18''', в данном set условие if отсутствует.&lt;br /&gt;
*GMachine::Command::checkIf() GMachine'''(id:28076)'''::Command::'''checkIf id:18 expr: res:true''' - в команде set(18) условие '''checkIf id:18 expr: res:true''' есть истинно (точнее - не есть ложным, так как оно отсутствует); set(18) будет выполнен.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18 checkIf success''' - проверка условия прошла успешно, выполняем set(18).&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18 obj:16039 -&amp;gt; par:param_name val:bundle_coins us:0''' - результат выполнения set(18) - объекту '''obj:16039''' устанавливаем параметр '''par:param_name val:bundle_coins''' равным '''us:0'''.&lt;br /&gt;
*GMachine::Command::getVarValue() Command::'''getVarValue(bundle_item): float result = 0.00''' - вычитываем переменную с помощью команды var; вычитываем параметр '''bundle_item''', результат операции '''float result = 0.00'''.&lt;br /&gt;
*GMachine::Set::init() Set::init: Expression: '''(bundle_coins)=0.000000(float)''' - используем значение переменной в команде set; переменная вчитывается в момент обращения к ней из другой команды (set, move и др.).&lt;br /&gt;
&lt;br /&gt;
==Использование скриптов Lua ==&lt;br /&gt;
В машине состояний можно использовать скрипты [[Lua]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Окно==&lt;br /&gt;
В свойствах машины состояний есть 2 новых поля:&lt;br /&gt;
*'''окно''' - если ''да'', то машина считает себя окном. При включении данного параметра с момента постановки окна в очередь ''statesmanager'а'' и до вызова ''back'' в текущей машине блокируются внешние воздействия и переход между состояниями.&lt;br /&gt;
*'''тип окна''' - обычное; по альфе - при открытии отключает все нижние сцены по альфе; с фото - при открытии отключает все нижние сцены по альфе, предварительно делая фото этих сцен. Выключение сцен ''по альфе'' и ''с фото'' используются для больших окон основной очереди.&lt;br /&gt;
[[mwindow]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Machine&amp;diff=9786</id>
		<title>Machine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Machine&amp;diff=9786"/>
		<updated>2019-02-12T14:58:15Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Свойства */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Machine]] - [[Object|объект]] '''машина состояний''' (state machine) позволяет описывать сложное поведение игровых объектов. Для машин с типовым набором состояний и поведений вводятся отдельные типы объектов. Например, кнопка, по своей сути, является машиной состояний.&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Логика поведения машины разбивается на отдельные узлы (состояния). Машина всегда находится строго в одном состоянии. Переход из одного состояния в другое происходит либо в результате внешнего воздействия на машину, либо в результате окончания некоторых процессов протекающих внутри неё&lt;br /&gt;
&lt;br /&gt;
Любая машина состояний может быть изображена в виде графа с кружочками и стрелками. У машины всегда активно строго одно состояние (ниже это изображено на левом рисунке темным кружком):&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:def_states.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Машина состояний не обладает памятью. Это означает, что для анализа того, что произойдет в данном состоянии, неважно как мы в него попали, и какова была предыстория переходов. Важно, только, что мы находимся в этом состоянии. Такое отсутствие памяти упрощает анализ логики машины, так как каждый раз мы концентрируемся на одном конкретном состоянии, а всю логику работы разбиваем на отдельные кирпичики-состояния.&lt;br /&gt;
&lt;br /&gt;
Выше на правом рисунке изображено некоторое состояние. При входе в него, происходит инициализация состояния. Если на объект оказываются внешние воздействия, то он может покинуть состояние. Наконец, внутри состояния могут работать различные процессы.&lt;br /&gt;
&lt;br /&gt;
Все команды состояния, разбиваются на три группы:&lt;br /&gt;
* '''[[#Инициализация|Инициализация]]''':&lt;br /&gt;
** '''[[#draw|draw]]''' - установка графического ресурса;&lt;br /&gt;
** '''[[#init|init]]''' - инициализация параметров машины (координаты и т.п.);&lt;br /&gt;
** '''[[#set|set]]''' - установка состояния другого объекта;&lt;br /&gt;
** '''[[#play|play]]''' - проиграть звук;&lt;br /&gt;
** '''[[#var|var]]''' - переменная, которой присваивается значение параметра объекта;&lt;br /&gt;
** '''[[#buy|buy]]''' - запуск процедуры in-app покупки;&lt;br /&gt;
** '''[[#download|download]]''' - запуск процедуры закачки контента.&lt;br /&gt;
* '''[[#Процессы|Процессы]]''':&lt;br /&gt;
** '''[[#wait|wait]]''' - задержка по времени;&lt;br /&gt;
** '''[[#move|move]]''' - равномерное движение;&lt;br /&gt;
** '''[[#rot|rot]]''' - вращение вокруг точки пивота;&lt;br /&gt;
** '''[[#alpha|alpha]]''' - изменение прозрачности;&lt;br /&gt;
** '''[[#scale|scale]]''' - изменение размера;&lt;br /&gt;
** '''[[#phys|phys]]''' - ускоренное движение;&lt;br /&gt;
** '''[[#rgb|rgb]]''' - изменить rgb-каналы;&lt;br /&gt;
** '''[[#spline|spline]]''' - движение по сплайну (по кривой).&lt;br /&gt;
* '''[[#Воздействия|Воздействия]]''':&lt;br /&gt;
** '''[[#click|click]]''' - что делать при клике на машине;&lt;br /&gt;
** '''[[#drop|drop]]''' - на машине отпущена клавиша мыши;&lt;br /&gt;
** '''[[#drag|drag]]''' - машину схватили и тащат;&lt;br /&gt;
** '''[[#throw|throw]]''' - машину схватили и кинули;&lt;br /&gt;
** '''[[#apply|apply]]''' - сработает при пересечении машины с линией или объектом;&lt;br /&gt;
** '''[[#touch_in|touch_in]]''' - наведение мыши/пальца на машину, если палец &amp;quot;тащат&amp;quot; по экрану;&lt;br /&gt;
** '''[[#touch_out|touch_out]]''' - выведение мыши из машины, если палец &amp;quot;тащат&amp;quot; по экрану;&lt;br /&gt;
** '''[[#touch_up|touch_up]]''' - отжатие мыши от машины;&lt;br /&gt;
** '''[[#tap|tap]]''' - умный тач;&lt;br /&gt;
** '''[[#mouse_in|mouse_in]]''' - наведение мыши на машину даже если не нажата кнопка мыши;&lt;br /&gt;
** '''[[#mouse_out|mouse_out]]''' - выведение мыши из машины даже если не нажата кнопка мыши.&lt;br /&gt;
&lt;br /&gt;
Кроме этого, есть команда '''[[#if|if]]''', вызываемая другими командами. В ней описываются некоторые логические условия, выполнение которых говорит команде (которая вызвала этот '''if'''), что можно завершать работу. Для разных команд использование этого параметра несколько '''отличается'''!&lt;br /&gt;
&lt;br /&gt;
Начальные понятия и методы работы с машинами состояний находятся в [[Learning|уроках]],&lt;br /&gt;
начиная с [[Checkbox как машина состояний|третьего]].&lt;br /&gt;
&lt;br /&gt;
== Свойства ==&lt;br /&gt;
&lt;br /&gt;
Общие для всех объектов свойства описаны в документе [[Object|Object]].&lt;br /&gt;
Дополнительные свойства:&lt;br /&gt;
&lt;br /&gt;
* '''в опции''' - да - машина будет сохранять свое состояние в опции и при следующей инициализации инициал-ся не в первом состоянии, а в состоянии, записанном в опциях.&lt;br /&gt;
* '''Состояние''' - Состояние в котором будет находиться машина при инициализации. Если ничего не указано - первое состояние в списке состояний.&lt;br /&gt;
* '''Хранить нажатость''' - нужно ли сбрасывать нажатость при изменении состояния.&lt;br /&gt;
* '''res''' - графический ресурс машины. Может отсутствовать. Перетягивается из редактора ресурсов(поле должно быть в состоянии редактирования).&lt;br /&gt;
* '''states''' - По двойному клику, или по нажатию на кнопку с тремя точками открывается список состояний.&lt;br /&gt;
* '''отладка''' - Отображать в окне состояний текущий объект.&lt;br /&gt;
* '''курсор''' - Графический ресурс курсора текущего и всех дочерних объектов.&lt;br /&gt;
* '''прокликиваемая''' - 0 - машина не пропускает клик, 1 - машина пропускает клик, 2 - машина обрабатывает клик и пропускает его дальше.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры для LUA ==&lt;br /&gt;
&lt;br /&gt;
Все параметры доступны из LUA скрипта, привязанного к машинке.&lt;br /&gt;
Далее во всех параметрах присутствуют:&lt;br /&gt;
имя (name) - имя параметра, по которому он будет браться из скрипта.&lt;br /&gt;
значение (val) - значение, которое прилетит в скрипт.&lt;br /&gt;
описание (dsc) - описание параметра. Просто хинт для параметра, нигде не используется.&lt;br /&gt;
&lt;br /&gt;
* '''параметр для lua скрипта (строка)''' - строка, которая доступна из LUA скрипта через viewer.getParamS(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (целое)''' - целое число, которое доступно из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (дробное)''' - дробное число, которое доступно из LUA скрипта через viewer.getParamF(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id ресурса)''' - ресурс (перетаскивается из базы ресурсов), id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id звука)''' - звук (перетаскивается из базы ресурсов), id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id видео)''' - видео (перетаскивается из базы ресурсов), id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (id объекта)''' - объект из layout, id доступен из LUA скрипта через viewer.getParamI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
* '''параметр для lua скрипта (массив id объектов)''' - объекты из layout (добавляются через окошко, которое появляется при двойном нажатии на параметр), массив id доступен из LUA скрипта через viewer.getParamArrI(&amp;quot;param_name&amp;quot;, [default]).&lt;br /&gt;
&lt;br /&gt;
== Инициализация ==&lt;br /&gt;
&lt;br /&gt;
При попадании в состояние, сразу выполняются команды инициализации init, draw, set, buy, var. Если в этих командах нет параметра break, они все выполняются до запуска процессов. Параметр break (со значением 1) прерывает выполнение команд инициализации данного типа. Их можно перезапустить по окончанию команд процессов.&lt;br /&gt;
&lt;br /&gt;
'''''Замечание.''''' По возможности, нужно избегать передачи значений другим объектам, в начальном состоянии машины, так как такие команды будут выполнятся даже тогда, когда машина будет выключена на визуальной сцене.&lt;br /&gt;
&lt;br /&gt;
=== draw ===&lt;br /&gt;
&lt;br /&gt;
Команда определяет графический ресурс (картинку, которую надо рисовать в данном состоянии). Её параметры:&lt;br /&gt;
&lt;br /&gt;
* '''res''' - ресурс картинки (перетаскивается из редактора ресурсов);&lt;br /&gt;
* '''f''' - начальный кадр;&lt;br /&gt;
* '''ft''' - длительность кадра в миллисекундах;&lt;br /&gt;
* '''loop''' - число повторов (зацикливаний анимации); если -1, то бесконечно; отсутствует или 0 - будет проигран один раз;&lt;br /&gt;
* '''rev''' - играть анимацию в обратном порядке; 0 - прямой порядок проигрывания, 1 - обратный порядок проигрывания;&lt;br /&gt;
* '''go''' - перейти в состояние;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] для условия перехода; можно использовать логические операторы (см. [[#if|if]]);&lt;br /&gt;
* '''break''' - прервать команды.&lt;br /&gt;
&lt;br /&gt;
Пустая команда draw (без параметров) &amp;quot;сбрасывает&amp;quot; текущую картинку и в этом состоянии ничего рисоваться не будет. Если в общих параметрах объекта (в базовой панеле свойств) задан ресурс рисования, и он во всех состояниях одинаков, то его можно в состоянии не задавать.&lt;br /&gt;
&lt;br /&gt;
Если параметра loop нет, кадры анимации проиграются один раз. Чтобы зациклить их, необходимо установить loop=-1 или нужное число раз. Аналогично параметру loop других команд, первый раз draw выполняется в любом случае. Дальнейшие её повторы определяются значением loop. Однако, в отличие от других команд, loop повторяет только '''данную''' команду draw (даже если она не первая).&lt;br /&gt;
Для работы loop '''необходимо''' чтобы в редакторе ресурсов в настройках анимации '''было отключено''' зацикливание(looped).&lt;br /&gt;
&amp;lt;br&amp;gt;Если есть анимация открывающейся и закрывающейся книги (коробки, двери и т.д.) не обязательно подгружать в проект две анимации, можно использовать одну, но запускать ее в обратном порядке, для этого есть параметр '''rev'''.&lt;br /&gt;
&lt;br /&gt;
=== init ===&lt;br /&gt;
&lt;br /&gt;
====Параметры объекта====&lt;br /&gt;
&lt;br /&gt;
* '''x''','''y''' - координата точки пивота относительно сцены или родительского объекта;&lt;br /&gt;
* '''ang''' - угол поворота в градусах; отчитывается вниз от оси x, или вверх, если отрицательный;&lt;br /&gt;
* '''al''' - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен);&lt;br /&gt;
* '''sx''','''sy''' - масштаб машины по осям (если 1, то это исходный размер; 0.5 - в два раза меньше);&lt;br /&gt;
* '''vis''' - видимость - видимость машины (1 - видима, 0 - невидима), если vis = 0, это равноценно отключению объекта в редакторе;&lt;br /&gt;
* '''z координата''' - координата машины по z.&lt;br /&gt;
* '''z приращение''' - приращение координаты машины по z относительно текущего&lt;br /&gt;
* '''прокликиваемая''' - если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то клик обрабатывается, но передается дальше;&lt;br /&gt;
&lt;br /&gt;
====Параметры движения====&lt;br /&gt;
&lt;br /&gt;
* '''v''' - скорость для команды move&lt;br /&gt;
* '''vr''' - угловая скорость для команды rot&lt;br /&gt;
* '''vx''','''vy''' - начальная скорость для команды phys&lt;br /&gt;
* '''ax''','''ay''' - ускорение для команды phys&lt;br /&gt;
&lt;br /&gt;
====Системные действия====&lt;br /&gt;
&lt;br /&gt;
* '''показать рейтинг''' - значение 1 означает, что при выполнении этого инита будет показано окно iOS рейтинга.&lt;br /&gt;
Если на девайсе была нажата кнопка &amp;quot;отрейтинговать&amp;quot;, то в опции запишется параметр rating значение 1, если нажата кнопка &amp;quot;позже&amp;quot; - rating 2, &amp;quot;никогда&amp;quot; - rating 3.&lt;br /&gt;
* '''закрыть приложение''' - значение 1 означает, что при выполнении этого инита приложение будет закрыто.&lt;br /&gt;
* '''перезагрузить лэйаут''' - значение 1 означает, что при выполнении этого инита будет перезагружен лэйаут.&lt;br /&gt;
* '''вернуться назад''' - начение 1 означает, что при выполнении этого инита произойдет возврат на предыдущий экран.&lt;br /&gt;
* '''реклама AdMob''' - 1 - показать, 0 - спрятать, -1 - не изменять состояние.&lt;br /&gt;
* '''курсор''' - меняет текущий курсор мыши на указанный графический ресурс. Перетягивается из редактора ресурсов, поле должно быть в состоянии редактирования.&lt;br /&gt;
* '''id внешней ссылки в текстовой базе''' - Ссыслка будет взята из текстовой базы в соответствии с текущим маркетом.&lt;br /&gt;
* '''[[#Clone|clone]]''' - Значение 1 означает, что в текущем местоположении машины будет создана ее копия, 2 - удалить все клоны, созданные данной машиной, 3 - удалить себя, если клон&lt;br /&gt;
&lt;br /&gt;
====Переходы и параметры выполнения====&lt;br /&gt;
&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] для условия выполнения; можно использовать логические операторы (см. [[#if|if]]);&lt;br /&gt;
* '''break''' - прервать команды.&lt;br /&gt;
&lt;br /&gt;
Так же, как и при инициализации картинки ('''draw'''), вызов команды ('''init''') переопределяет только те параметры, которые в ней указаны. Остальные параметры (заданные в других состояниях или в общих свойствах объекта) остаются без изменений&lt;br /&gt;
&lt;br /&gt;
=== set ===&lt;br /&gt;
&lt;br /&gt;
Перевод другого объекта в некоторое состояние или изменение его параметров.&lt;br /&gt;
&lt;br /&gt;
* '''obj''' - изменяемый объект (выбирается из списка объектов). В значении объекта можно указать this, это значит что машина сама себе пропишет какой то параметр или состояние.&lt;br /&gt;
* '''scr_param''' - глобальный либо текущий экран, параметры которого меняем.&lt;br /&gt;
* '''scr_state''' - экран, состояние которого меняем.&lt;br /&gt;
* '''parent''' - Объект, который будет установлен в качестве родителя объекту из obj. Объект obj будет оторван от текущего своего родителя и добавлен в детей объекта parent. При этом у obj сбивается значение Z. Если оно должно быть отличным от нуля, то нужно установить заново после смены родителя.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''st''' - состояние в которое переводится объект.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''par''' - параметр объекта для установки, используется вместе с val, val_obj, val_txt, val_scr,val_vid,val_res,val_node.&lt;br /&gt;
* '''mSt''' - Состояние машины в котором будем изменять параметр команды.&lt;br /&gt;
* '''mCmd''' - Имя команды, параметр которой меняем.&lt;br /&gt;
* '''mCmdN''' - Порядковый номер в перечне одноименных команд состояния.&lt;br /&gt;
* '''mPar''' - Установить этот параметр команды в значение val.&lt;br /&gt;
* '''val_obj''' - id объекта, будет записано в в par&lt;br /&gt;
* '''val_txt''' - id текста, будет записано в в par(параметр для текстов &amp;quot;txtID&amp;quot;)&lt;br /&gt;
* '''val_vid''' - id video, будет записано в par(параметр для видео &amp;quot;video&amp;quot; - RGB, &amp;quot;videoA&amp;quot; - Alpha)&lt;br /&gt;
* '''val_scr''' - id экрана, будет записано в в par&lt;br /&gt;
* '''val_res''' - Новое значение графического ресурса (перетаскивается из редактора ресурсов). (пока не работает)&lt;br /&gt;
* '''val_node''' - Новое нода графа (выбирается из списка, при заданном объекте)&lt;br /&gt;
* '''val''' - значение параметра объекта для установки&lt;br /&gt;
* '''var''' - имя переменной данной машины, значение которой присваивается в параметр par  объекта obj&lt;br /&gt;
* '''round''' - округлить значение, записываемое в val&amp;lt;br&amp;gt;&lt;br /&gt;
* '''position''' - объект указанный в поле '''obj''' будет отпозиционирован относительно указанного объекта в этом поле ( можно одновременно и задавать состояние '''st''' в которое перевести объект ( поле obj ) );  &lt;br /&gt;
* '''pos_dx''' - смещение по оси X от точки пивоты объекта из поля выше ( если это поле не указывать, смещение будет = 0 );&lt;br /&gt;
* '''pos_dy''' - смещение по оси Y от точки пивоты объекта из поля выше ( если это поле не указывать, смещение будет = 0 )&lt;br /&gt;
* '''scr''' - экран на который мы хотим перейти&lt;br /&gt;
* '''user''' - 1 - сохранять значения для текущего пользователя. Для всех типов объектов кроме options этот флаг игнорируется&amp;lt;br&amp;gt;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] при выполнении которого происходит отработка команды set. &lt;br /&gt;
* '''break''' - прервать выполнение команд set на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
&lt;br /&gt;
Так как все объекты (не только машины) имеют состояния, то при помощи команды set можно их менять. Стоит обратить внимание на то, что когда в параметрах (любых команд) встречается st, речь идет о состоянии другого объекта, а если go, то данной машины состояний.&lt;br /&gt;
&lt;br /&gt;
=== play ===&lt;br /&gt;
&lt;br /&gt;
Проиграть звук&lt;br /&gt;
&lt;br /&gt;
*'''snd''' - Короткий звук (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''voice''' - Голос (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''mus''' - Длинный звук (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''mus_field''' - Проиграть длинную музыку, id взяв из переменной машины, указанной в этом поле;   (К примеру у машины есть параметр location_music==&amp;quot;7695&amp;quot; и в mus_field=&amp;quot;location_music&amp;quot;. То машина проиграет длинную музыку с id 7695)&lt;br /&gt;
*'''preload''' - Указанный звук будет загружен в память, но не будет проигрываться прямо сейчас. Для ускорения его старта потом;&lt;br /&gt;
*'''loop''' - Зациклить указанный звук. Использовать вместе с snd или voice;&lt;br /&gt;
*'''mus_loop''' - Зациклить указанную музыку. По умолчанию музыка всегда зацикленна. То есть, фактически этой флаг используется, когда нужно убрать зацикливание.&lt;br /&gt;
*'''repeat''' - Число повторов указанного звука при отключенном loop;&lt;br /&gt;
*'''mus_stop''' - Остановить музыку. Если используется вместе с mus, то остановится указанная. Если нет - то вся текущая.&lt;br /&gt;
*'''stop''' - Остановить указанный звук. Использовать вместе с snd или voice.&lt;br /&gt;
*'''mus_fading''' - Время появления/затухания указанной музыки в ms. Использовать вместе с mus.&lt;br /&gt;
*'''fading''' - Время появления/затухания указанного звука. Использовать вместе с snd или voice. &lt;br /&gt;
*'''volume''' - Установить громкость для всех звуков данной машины - тех что уже играют и тех, что будут запущены впоследствии;&lt;br /&gt;
*'''не выгружать''' - Позволяет продолжать проигрывание звука при смене экранов.&lt;br /&gt;
*'''go''' - Выбор состояния, в которое нужно перейти после проигрывания музыки/звука/голоса.&lt;br /&gt;
*'''if''' - Номер (начиная с нуля) условия перехода [[#if|if]].&lt;br /&gt;
&lt;br /&gt;
Особенности применения:&lt;br /&gt;
&lt;br /&gt;
1) Короткий звук (''snd'') нельзя запустить в первом (инитном) состоянии машины. Для того, чтобы запустить звук сразу при загрузке экрана, нужно в первом состоянии машины записать мгновенный переход во второе состояние мамашины (например, команда ''wait'', поле ''go'', в поле выбрать второе состояние), а во втором состоянии уже запустить звук.&lt;br /&gt;
&lt;br /&gt;
2) Если звук нужно зациклить и проигрывать какое-то количество раз (''loop=1,2,3,..,n'') или бесконечно (''loop=-1''), то нужно проследить чтобы состояние, в котором запускается звук, не вызывалось повторно во время проигрывания звука, иначе возникнет наложение звуков.&lt;br /&gt;
&lt;br /&gt;
3) Если во время проигрывания звука машина меняет свое состояние, звук продолжает играть.&lt;br /&gt;
&lt;br /&gt;
4) Если в одной машине почти одновременно воспроизводится несколько звуков, то они прерывают друг друга.&lt;br /&gt;
&lt;br /&gt;
5) Если каждый звук воспроизводится в отдельной машине, то они звучат параллельно.&lt;br /&gt;
&lt;br /&gt;
6) Если не указан звук и голос, то команда (''stop'') остановит все звуки, запущенные этой машиной.&lt;br /&gt;
&lt;br /&gt;
7) Музыка (''mus'') может быть формата .ogg или .mp3. На экране может воспроизводится только одна .mp3 музыка. Любой запуск .mp3 музыки независимо от того, в какой машине он осуществляется, будет прекращать проигрывание предыдущей .mp3 музыки. В тоже время может воспроизводиться несколько .ogg музыки.&lt;br /&gt;
&lt;br /&gt;
8) Музыка, которая проигрывается на глобальном экране, проигрывается на всех экранах проекта.&lt;br /&gt;
&lt;br /&gt;
=== var ===&lt;br /&gt;
&lt;br /&gt;
Переменная, которой присваивается значение параметра объекта&lt;br /&gt;
&lt;br /&gt;
*'''name''' - имя переменной;&lt;br /&gt;
*'''tp''' - тип переменной;&lt;br /&gt;
*'''obj''' - объект, используемый далее;&lt;br /&gt;
*'''par''' - имя параметра, значение которого присваивается переменной;&lt;br /&gt;
*'''val''' - значение переменной, если отсутствуют obj и par;&lt;br /&gt;
*'''user''' - если стоит &amp;quot;1&amp;quot;, то будет считываться с текущего профиля в опциях&lt;br /&gt;
*'''func''' - в выпадающем списке можно выбрать функцию:&lt;br /&gt;
**'''random''' - использует arg1 и arg2, возвращает случайное целое число в диапазоне arg1 .. arg2.&lt;br /&gt;
**'''conc''' - объединяет 4 строки arg1,arg2,arg3,arg4. Возвращает строку, в которой соединены все строки&lt;br /&gt;
**'''exp''' - экспонента от аргумента arg1.&lt;br /&gt;
**'''ln''' - натуральный логарифм аргумента arg1.&lt;br /&gt;
*'''arg1''' - аргумент функции&lt;br /&gt;
*'''arg2''' - аргумент функции&lt;br /&gt;
*'''arg3''' - аргумент функции&lt;br /&gt;
*'''arg4''' - аргумент функции&lt;br /&gt;
&lt;br /&gt;
Обозначенная переменная существует (может использоваться) только в текущем состоянии. Переменная может определятся в одном состоянии только один раз. Если созданной переменной нужно изменить значение в рамках состояния, это можно сделать через другую переменную или через параметр опций ([[Options]]). Если ее значение нужно использовать в другом состоянии, то оно присваивается параметру опций, а затем заново считывается в новом состоянии. Переменные можно указывать в поле ''val'' с другими математическими действиями и цифрами, при этом каждое действие заключать в скобки. Если в поле ''val'' указать имя переменной ''А'' без скобок - воспримется строка ''А'', если указать в скобках - воспримется значение переменной.&lt;br /&gt;
&lt;br /&gt;
=== buy === &lt;br /&gt;
&lt;br /&gt;
'''(in-app совершить in-app покупку)'''&lt;br /&gt;
&lt;br /&gt;
При переходе в состояние, данная команда открывает системное окно с предложением совершить in-app покупку. В зависимости от действий игрока, покупка может произойти (успех) или не произойти (провал).&lt;br /&gt;
&lt;br /&gt;
* '''id покупки''' - внутренний id покупки для приложения, указывается в объекте [[Store]];&lt;br /&gt;
* '''объект(успех)''' - объект, которому сообщается об удачной покупке;&lt;br /&gt;
* '''состояние(успех)''' - состояние в которое переводится выбранный объект в случае успешной покупки;&lt;br /&gt;
* '''объект(провал)''' - объект, которому сообщается о неудачной покупке;&lt;br /&gt;
* '''состояние(провал)''' - состояние в которое переводится объект в случае неудачной покупки.&lt;br /&gt;
&lt;br /&gt;
=== download ===&lt;br /&gt;
 &lt;br /&gt;
'''(скачать загружаемый контент)'''&lt;br /&gt;
&lt;br /&gt;
При переходе в состояние будет совершена попытку закачать контент.&lt;br /&gt;
* '''url''' - ссылка на zip архив с контентом в интернете.&lt;br /&gt;
* '''объект успех''' - объект, которому в случае успешной закачки будет задаваться указанное состояние.&lt;br /&gt;
* '''состояние (успех)''' - состояние, которое будет устанавливаться выше указанному объекту, в случае успешной закачки.&lt;br /&gt;
* '''объект (провал)''' -объект, которому, в случае неудачи закачки, будет устанавливаться указанное состояние.&lt;br /&gt;
* '''состояние (провал)''' - состояние, которое, в случае неудачи закачки,будет устанавливаться выше указанному объекту.&lt;br /&gt;
* '''счетчик прогресса''' - объект, типа счетчик, который отображает прогресс закачки контента. Крайне желательно, что бы он измерялся в диапазоне от 0 до 100.&lt;br /&gt;
 &lt;br /&gt;
Существует несколько причин при которых вызывается состояние &amp;quot;провал&amp;quot;. Для того что бы сообщить пользователю, по какой именно причине возник провал закачки, следует идентифицировать причины провала. Это возможно сделать с помощью параметра &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
downloadErrCode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ниже приведены значение параметра которые помогут вывести нужное текстовое сообщение :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    GCUSTOM_ERROR_CODE_ERROR_UNKNOWN   = 1,    //!&amp;lt; ошибка не классифицирована&lt;br /&gt;
    GCUSTOM_ERROR_CODE_WIFI_DISABLED   = 2,    //!&amp;lt; отключен WIFI&lt;br /&gt;
    GCUSTOM_ERROR_CODE_SDCARD_UNAVAILABLE = 3,    //!&amp;lt; SD-карта недоступна&lt;br /&gt;
    GCUSTOM_ERROR_CODE_SDCARD_FULL   = 4,    //!&amp;lt; SD-карта переполнена перед закачкой&lt;br /&gt;
    GCUSTOM_ERROR_CODE_UNZIP_FAIL   = 5     //!&amp;lt; ошибка при распаковки пака (скорее всего на SD-карте не&lt;br /&gt;
    хватает места для распаковки &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Процессы ==&lt;br /&gt;
&lt;br /&gt;
Все команды процессов, кроме параметров описанных ниже, могут содержать параметры, совпадающие с именами других команд. В этих параметрах указывается номер (начиная с нуля) команды, которую надо запустить на выполнение, после окончания действия данной команды процесса.&lt;br /&gt;
&lt;br /&gt;
Если в команде процесса есть условие '''[[#if|if]]''', то после окончания работы команды она ждет пока это условие не выполнится. Только после этого переходит к следующей команде этого же типа&lt;br /&gt;
или в другое состояние (если есть параметр go).&lt;br /&gt;
Исключением является команда wait, которая '''не''' ждёт срабатывания '''[[#if|if]]'''. Если он по окончанию wait сработал, то происходит переходит в другое состояние, если есть параметр go.&lt;br /&gt;
Если параметра go нет, то в любом случае запускается следующий wait (т.е. if относится только к переходу go).&lt;br /&gt;
&lt;br /&gt;
=== wait ===&lt;br /&gt;
 &lt;br /&gt;
Команда паузы (временной задержки). Если параметра '''t''' нет, то срабатывает сразу.&lt;br /&gt;
Может также использоваться для логических ветвлений, случайных переходов в другие состояния и т.д.&lt;br /&gt;
&lt;br /&gt;
* '''t''' - длительность выполнения команды в ms;&lt;br /&gt;
* '''dt''' - интервал от t-dt до t+dt, внутри которого команда может быть случайно прервана (при t&amp;gt;t+dt прерывается в любом случае);&lt;br /&gt;
* '''p''' - вероятность срабатывания перехода в состояние, указываемое параметром go;&lt;br /&gt;
* '''go''' - состояние, в которое нужно перейти поле окончания времени и срабатывания условия [[#if|if]], если оно указано;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;&lt;br /&gt;
* '''loop''' - зациклить команды;&lt;br /&gt;
* '''break''' - прервать выполнение команд wait на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
Простейший набор параметров команды wait выглядит следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;1000&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;    // ждем 1000ms и покидаем состояние&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Для программирования объектов со случайным поведением можно использовать последовательность команд wait с параметром вероятности перехода p (от 0 до 1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; p=&amp;quot;0.5&amp;quot; go=&amp;quot;st1&amp;quot;/&amp;gt; // через t с вероятностью 1/2 перейдет в st1&lt;br /&gt;
&amp;lt;wait go=&amp;quot;st2&amp;quot;/&amp;gt; // иначе,  перейдем в st2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Этот же синтаксис позволяет делать состояния с различным временем жизни:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; p=&amp;quot;0.5&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt; // с вероятностью 1/2 живем 100ms&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;       // или 200ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Впрочем, последнюю задачу можно решить при помощи указывания интервала dt, внутри которого произойдет окончание команды. Так, состояние, живущее от 800 до 1200ms, реализуется следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;1000&amp;quot; dt=&amp;quot;200&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== move ===&lt;br /&gt;
&lt;br /&gt;
Перемещение по сцене:&lt;br /&gt;
* '''tx''', '''ty''' - целевые координаты в пикселях, к которым должен переместиться объект. Можно указывать переменные заданные с помощью [http://ge.absolutist.com/index.php/Machine#var_2 переменной var];&lt;br /&gt;
* '''dx''', '''dy''' - величина смещения от текущей (если есть - tx,ty игнорируются); можно задавать смесь tx, dy или dx,ty;&lt;br /&gt;
* '''v''' - скорость перемещения в пикселях в секунду; для фреймовой анимации, например, ходьбы скорость рассчитывается исходя из длительности одного кадра и числа кадров на фазу движения. Поэтому, в этом случае, удобнее задавать скорость;&lt;br /&gt;
* '''t''' - время перемещения (v игнорируется);&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go; команда ждет срабатывания условия, и не запускает следующую команду move, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд движения с первой команды;&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд move на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
В большинстве команд процессов, связанных с движением, величина изменения может быть задана в абсолютных или относительных величинах. Так, могут быть указаны целевые координаты tx, ty в которые надо переместиться, или смещение dx, dy относительно текущего положения объекта.&lt;br /&gt;
&lt;br /&gt;
Аналогично, скорость перемещения регулируется, либо явным заданием времени выполнения команды t, либо скоростью v. Исходя из требуемого расстояния, по этой скорости вычисляется необходимое время. Скорость задается в пикселях за секунду (а не миллисекунду!)&lt;br /&gt;
&lt;br /&gt;
=== rot ===&lt;br /&gt;
&lt;br /&gt;
Вращение объекта вокруг точки пивота с координатами px,py. Эти координаты задаются относительно верхнего левого угла объекта в общей секции описания параметров объекта или командой init в данном состоянии.&lt;br /&gt;
* '''ta''' - целевой угол поворота объекта;&lt;br /&gt;
* '''da''' - на сколько надо повернуться (ta игнорируется);&lt;br /&gt;
* '''v''' - угловая скорость поворота в градусах в секунду;&lt;br /&gt;
* '''t''' - время поворота (v игнорируется);&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду rot, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд движения с первой команды;&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд rot на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Угол отсчитывается от оси x. Если он положителен, то поворот происходит по часовой стрелке. Если отрицательный - против часовой.&lt;br /&gt;
&lt;br /&gt;
=== alpha ===&lt;br /&gt;
&lt;br /&gt;
Изменение прозрачности объекта. Меняется от 0 (полностью прозрачен) до 1 (непрозрачен)&lt;br /&gt;
* '''ta''' - целевая прозрачность&lt;br /&gt;
* '''da''' - на сколько надо изменить прозрачность от текущей (ta игнорируется)&lt;br /&gt;
* '''v''' - скорость изменения прозрачности (в долях единицы в ms)&lt;br /&gt;
* '''t''' - время изменения (v игнорируется)&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду alpha, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд alpha с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд alpha на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Если у объекта прозрачность ''al=0.00'', то он невидим для всякого взаимодействия. Если у объекта прозрачность ''al=0.01'', то он видим для клика, но невидим для дропа(команда drop на объект не видит объект с прозрачностью ''0.01''). Если у объекта ''al=0.02'', то он видим и для клика, и для дропа.&lt;br /&gt;
&lt;br /&gt;
=== scale ===&lt;br /&gt;
&lt;br /&gt;
Изменение размеров объекта&lt;br /&gt;
* '''tx''', '''ty''' - целевой масштаб по каждой оси&lt;br /&gt;
* '''dx''', '''dy''' - на сколько изменить масштаб по каждой оси&lt;br /&gt;
* '''v''' - скорость изменения масштаба (в долях единицы в сек.)&lt;br /&gt;
* '''t''' - длительность выполнения команды (v игнорируется)&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду scale, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд scale с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд scale на этой команде (запустить их сново можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
=== phys ===&lt;br /&gt;
&lt;br /&gt;
Команда phys позволяет имитировать простую физику. В ней задается начальная скорость и действующая на объект сила (ускорение).&lt;br /&gt;
&lt;br /&gt;
* '''vx''', '''vy''' - начальная скорость&lt;br /&gt;
* '''ax''', '''ay''' - величина ускорения по каждой оси&lt;br /&gt;
* '''a''' - полное ускорение&lt;br /&gt;
* '''tvx''', '''tvy''' - целевая скорость&lt;br /&gt;
* '''tx''', '''ty''' - целевая координата&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду phys, пока if не выполнится; &lt;br /&gt;
* '''loop''' - зациклить команды - Начать выполнение команд phys с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд phys на этой команде (запустить их снова можно из команд процессов). &lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим подпрыгивающий мячик, который при касании с землей деформируется (вертикально сплюскивается). Это можно сделать в 3 состояния (падаем, касаемся и взлетаем). Первоначально мячик находится в координате y=-100, и имеет высоту картинки w=60. Падает он до координаты ty=0. При касании с землёй, мяч сжимается на 20 процентов (sy=0.8). При этом его центр должен опуститься на dy=0.8*w/2 = 24.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;down&amp;quot;&amp;gt;                                    // падаем&lt;br /&gt;
    &amp;lt;phys vy=&amp;quot;0&amp;quot; ay=&amp;quot;20&amp;quot; ty=&amp;quot;0&amp;quot; go=&amp;quot;touch&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;touch&amp;quot;&amp;gt;                                   // касаемся земли&lt;br /&gt;
    &amp;lt;move dy=&amp;quot;24&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                       // опускаем центр при сжатии&lt;br /&gt;
    &amp;lt;scale ty=&amp;quot;0.8&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                     // сжимаемся&lt;br /&gt;
    &amp;lt;move dy=&amp;quot;-24&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                      // поднимаем центр при разжатии&lt;br /&gt;
    &amp;lt;scale ty=&amp;quot;1&amp;quot; t=&amp;quot;300&amp;quot; go=&amp;quot;up&amp;quot;/&amp;gt;               // разжимаемся&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;up&amp;quot;&amp;gt;                                      // взлетаем&lt;br /&gt;
    &amp;lt;phys vy=&amp;quot;0&amp;quot; ty=&amp;quot;-200&amp;quot; go=&amp;quot;down&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Напомним, что если объект имеет начальную скорость взлета, равную v=sqrt(2*ay*h), то он подпрыгнет на высоту h. Однако, в данном случае, вместо задания начальной скорости при взлете, мы задаем целевую координату (ty), до которой мяч должен подпрыгнуть.&lt;br /&gt;
&lt;br /&gt;
=== rgb ===&lt;br /&gt;
&lt;br /&gt;
* '''trgb''' - целевой эффект rgb; подразумевает под собой цвет в виде HEX-кода; по-умолчанию: FFFFFF;&lt;br /&gt;
* '''t''' - длительность выполнения команды в ms;&lt;br /&gt;
* '''go''' - состояние, в которое нужно перейти поле окончания времени и срабатывания условия [[#if|if]], если оно указано;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;&lt;br /&gt;
* '''loop''' - зациклить команды;&lt;br /&gt;
* '''break''' - прервать выполнение команд wait на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
=== spline ===&lt;br /&gt;
&lt;br /&gt;
Сплайн позволяет перемещать машину по заранее заданной траектории.&lt;br /&gt;
&lt;br /&gt;
====Параметры====&lt;br /&gt;
&lt;br /&gt;
*'''key''' - точки сплайна по которым движется &lt;br /&gt;
*'''t''' - время движения по траектории&lt;br /&gt;
*'''go''' - по окончанию переход в состояние&lt;br /&gt;
*'''if''' - условие перехода&lt;br /&gt;
*'''loop''' - количество повторений&lt;br /&gt;
*'''break''' - прервать команды на этой&lt;br /&gt;
*'''wait''' - номер запускаемого действия&lt;br /&gt;
*'''init''' - номер запускаемого действия&lt;br /&gt;
*'''alpha''' - номер запускаемого действия&lt;br /&gt;
*'''rot''' - номер запускаемого действия&lt;br /&gt;
*'''move''' - номер запускаемого действия&lt;br /&gt;
*'''set''' - номер запускаемого действия&lt;br /&gt;
*'''phys''' - номер запускаемого действия&lt;br /&gt;
*'''scale''' - номер запускаемого действия&lt;br /&gt;
*'''drow''' - номер запускаемого действия&lt;br /&gt;
&lt;br /&gt;
====Построение сплайна====&lt;br /&gt;
&lt;br /&gt;
# в состоянии машины добавляем правой кнопкой мыши действие &amp;quot;spline&amp;quot;&lt;br /&gt;
# добавляем минимально необходимые параметры: '''key''' и '''t''', указываем время движения в '''t'''&lt;br /&gt;
# выделяем для редактирования поле '''key'''&lt;br /&gt;
# записываем координаты точек через запятую, сначала x потом y, например: -211,-248,-151,-248,-91,-247,59,-246,60,101,60,159,1,190&lt;br /&gt;
Если записали все координаты вручную, то можно сохранить и проверять.&lt;br /&gt;
Или можно в окне списка состояний нажать на кнопку &amp;quot;build spline&amp;quot; (справа вверху).&lt;br /&gt;
[[Файл:Btn spline.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Окно с списком состояний закроется, появится дополнительная панель с настройками сплайна и появится возможность указывать мышкой по экрану точки для сплайна.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Spline panel.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Точки сплайна указываются кликом левой кнопки мыши по экрану.&lt;br /&gt;
&lt;br /&gt;
Возможности редактирования:&lt;br /&gt;
&lt;br /&gt;
'''режимы:'''&lt;br /&gt;
*'''add''' - по нажатию левой кнопкой мыши по экрану - будет добавлена новая точка, которая соединится с предыдущей&lt;br /&gt;
*'''select''' - по нажатию левой кнопкой мыши по точке сплайна появится возможность отредактировать её положение перетащив её или поменяв её координаты в полях x и у&lt;br /&gt;
*'''delete''' - по нажатию левой кнопкой мыши по точке сплайна точка удалится&lt;br /&gt;
&lt;br /&gt;
Чтобы удалить все точки сплайна необходимо нажать на кнопку &amp;quot;'''delete all knots'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Сохранить сплайн можно нажав на кнопку &amp;quot;'''Save spline'''&amp;quot;&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;
=== click ===&lt;br /&gt;
&lt;br /&gt;
Команда вызывается, если на объект кликнули мышкой. Срабатывает на её нажатие.&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды надо перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер  (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход go.&lt;br /&gt;
&lt;br /&gt;
По клику машина записывает координаты клика в параметры: clickX, clickY.&lt;br /&gt;
&lt;br /&gt;
=== touch_in ===&lt;br /&gt;
&lt;br /&gt;
Наведение мыши/пальца на машину, если палец &amp;quot;тащат&amp;quot; по экрану.&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== touch_out ===&lt;br /&gt;
Выведение мыши/пальца из машины, если палец &amp;quot;тащат&amp;quot; по экрану.&lt;br /&gt;
* '''go''' - состояние в которое при клике нужно перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при котором срабатывает переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== touch_up ===&lt;br /&gt;
&lt;br /&gt;
Отжатие мыши от машины&lt;br /&gt;
&lt;br /&gt;
* '''go''' - состояние в которое при отжатии мыши нужно перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при котором срабатывает переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== mouse_in ===&lt;br /&gt;
&lt;br /&gt;
Срабатывает при наведение мыши/пальца на машину даже если не нажата кнопка мыши, работает на desktop-ных системах (OSX, Windows)&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== mouse_out ===&lt;br /&gt;
Срабатывает при выведение мыши/пальца из машины даже если не нажата кнопка мыши, работает на desktop-ных системах (OSX, Windows)&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== drag ===&lt;br /&gt;
&lt;br /&gt;
Данная команда позволяет &amp;quot;таскать&amp;quot; объект по сцене нажав и удерживая клавишу мишки или (палец в случае сенсорного устройства) на нем.Так же есть возможность ограничить разрешенную область таскания, за пределы которой  объект вытащить невозможно. [[Файл:drag.jpg|right]]&lt;br /&gt;
* '''x1''' - разрешено таскать, когда координата объекта правее;&lt;br /&gt;
* '''x2''' - разрешено таскать, когда координата объекта левее;&lt;br /&gt;
* '''y1''' - разрешено таскать, когда координата объекта ниже;&lt;br /&gt;
* '''y2''' - разрешено таскать, когда координата объекта выше;&lt;br /&gt;
* '''if''' - номер команды условия (начиная с нуля) разрешения таскания;&lt;br /&gt;
* '''obj''' - объект у которого надо изменить состояние;&lt;br /&gt;
* '''st'''  - новое состояние объекта obj;&lt;br /&gt;
* '''за пивот''' - &amp;quot;да&amp;quot; - таскать объект за пивот, &amp;quot;нет&amp;quot; - за ту точку, за которую схватили&lt;br /&gt;
* '''приклеивать''' - приклеивать при клике к мышке.&lt;br /&gt;
&lt;br /&gt;
=== dragRot ===&lt;br /&gt;
&lt;br /&gt;
Данная команда позволяет вращать объект вокруг точки пивота.  Нажав и удерживая клавишу мишки или палец (в случае сенсорного устройства) на нем, мы можем вращать его по часовой либо против часовой стрелки. При многократном вращении вокруг своей оси значение его угла не накапливается, а обнуляется выходя за границы [360 ; -360] градусов. [[Файл:dragRot.jpg|right]]&lt;br /&gt;
* '''if''' - номер команды условия (начиная с нуля) разрешения таскания;&lt;br /&gt;
* '''obj''' - объект у которого надо изменить состояние;&lt;br /&gt;
* '''st'''  - новое состояние объекта obj;&lt;br /&gt;
* '''maxVel'''  - Максимальная скорость вращения градус/сек;&lt;br /&gt;
* '''objStart''' - объект при начале вращения;&lt;br /&gt;
* '''stStart''' - его новое состояние;&lt;br /&gt;
* '''objEnd''' - объект при завершении вращения;&lt;br /&gt;
* '''stEnd''' - его новое состояние; &lt;br /&gt;
'''''Замечание.'''''  ('''dragRot''') и обычный ('''drag''')  не работает если сцена таскаемая.&lt;br /&gt;
&lt;br /&gt;
=== drop ===&lt;br /&gt;
&lt;br /&gt;
Если нажатая кнопка мышки отпускается, вызывается эта команда. Обычно она используется в связке с командой drag&lt;br /&gt;
* '''obj''' - объект, на который надо уронить таскаемый объект;&lt;br /&gt;
* '''go''' - состояние в которое переходим при отпускании мышки;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) условия [[#if|if]] разрешения бросания.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим совместное применение команд drag и drop на следующей задаче. Пусть есть ключ и ящик. Ключ можно взять мышкой и перетащить, бросив на ящик. Ящик при этом должен постепенно стать прозрачным, а ключ уменьшиться до нуля. Машина состояний для ключа выглядит следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;drag&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;drag x1=&amp;quot;-350&amp;quot; x2=&amp;quot;350&amp;quot; y1=&amp;quot;-250&amp;quot; y2=&amp;quot;250&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;drop obj=&amp;quot;box&amp;quot; go=&amp;quot;open&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;open&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;set obj=&amp;quot;box&amp;quot; st=&amp;quot;open&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;scale tx=&amp;quot;0.01&amp;quot; ty=&amp;quot;0.01&amp;quot; t=&amp;quot;500&amp;quot; go=&amp;quot;hide&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;init x=&amp;quot;268&amp;quot; y=&amp;quot;30&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;scale tx=&amp;quot;1&amp;quot; ty=&amp;quot;1&amp;quot; t=&amp;quot;500&amp;quot; go=&amp;quot;drag&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ящик:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;close&amp;quot;&amp;gt;                        // начальное состояние ящика&lt;br /&gt;
    &amp;lt;init al=&amp;quot;1&amp;quot;/&amp;gt;                     // если его кто-то сюда переведет - он появится.&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;open&amp;quot;&amp;gt;              &lt;br /&gt;
    &amp;lt;alpha ta=&amp;quot;0&amp;quot; t=&amp;quot;500&amp;quot;/&amp;gt;            // исчезает по прозрачности за 500 ms&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Использование свойства &amp;quot;Условие перехода&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Можно прописать условие, при котором выполняется переход при дропе.&lt;br /&gt;
[[Файл:Drop_if.png|300px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
С помощью этого условия мы можем научить наш объект выполнять разные задачи в зависимости от того, как именно его дропнули.&lt;br /&gt;
Пусть есть объект который можно таскать. Когда объект не таскается должен быть включен флаер, привязанный к этому объекту. При клике на объект, он должен поворачиваться на 90 градусов. При дропе на соответствующую маску объект стает на свое место(Если выполнены условия, к примеру: установлен предыдущий объект и наш объект имеет правильный угол). Если дроп в любое другое место, то должен включится флаер.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы научить машину различать клик по ней и ее таскание сделаем следующее. Пропишем ей 2 состояния: click и drag, а также выставим ей параметр &amp;quot;хранить нажатость&amp;quot; = 1. В click будем вычислять координаты объекта и записывать объекту параметр допустимого смещения при котором таскание будет восприниматься как клик. (В данном примере эти параметры: cx, cy, vx, vy. А допустимое смещение составляет 10 пикселей.)&lt;br /&gt;
&lt;br /&gt;
В состоянии drag будем проверять попадает ли координата объекта при дропе в границы допустимого смещения. Для того чтобы сравнить параметр объекта с переменной, вычтем из нашего объекта, то что мы записали в click. В зависимости от условий и места дропа переходим в соответствующее состояние.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Click.png|330px]] [[Файл:Drag st.png|630px]]&lt;br /&gt;
&lt;br /&gt;
=== throw ===&lt;br /&gt;
 &lt;br /&gt;
Если на объект наступили мышкой, не отпуская кнопки, мышку оттащили и затем отпустили, вызывается команда throw со следующими параметрами:&lt;br /&gt;
* '''go''' - состояние, в которое, при клике, надо перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] разрешения бросания;&lt;br /&gt;
* '''force''' - получаемая скорость равна разнице пикселей от начала бросания (мышь нажата) до его конца (мышь отжата), умноженная на этот параметр. По умолчанию он равен 1.&lt;br /&gt;
&lt;br /&gt;
Сработав, эта команда задает начальные значения скорости для команды phys, поэтому должна использоваться совместно с ней (см. ниже пример).&lt;br /&gt;
&lt;br /&gt;
=== tap ===&lt;br /&gt;
&lt;br /&gt;
* '''go''' - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) условия [[#if|if]] разрешения бросания.&lt;br /&gt;
&lt;br /&gt;
=== apply ===&lt;br /&gt;
&lt;br /&gt;
Вызывается, если данная машина пересеклась с другой. Обычно используется в совокупности с throw, move, phys, drag.&lt;br /&gt;
* '''obj''' - сработает , если пересеклись с этим объектом;&lt;br /&gt;
* '''rm''' - радиус этой машины (если rm=0, то она считается прямоугольной)&lt;br /&gt;
* '''ro''' - радиус объекта obj (если ro=0, то он считается прямоугольным)&lt;br /&gt;
* '''shape''' - сработает, если пересеклись формы обьектов (полезно для png);&lt;br /&gt;
* '''x1''' - сработает, если центр объекта левее этого x-са;&lt;br /&gt;
* '''x2''' - сработает, если центр объекта правее этого x-са;&lt;br /&gt;
* '''y1''' - сработает, если центр объекта выше этого y-ка;&lt;br /&gt;
* '''y2''' - сработает, если центр объекта ниже этого y-ка;&lt;br /&gt;
* '''st''' - состояние, в которое надо перевести объект obj&lt;br /&gt;
* '''go''' - состояние, в которое надо перейти при срабатывании;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]] разрешения применения команды apply.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Screen_apply.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Блок схема работы '''apply'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Блок схема apply.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* Сначала у нас проверяется  координаты '''x1''', '''x2''', '''y1''', '''y2'''.&lt;br /&gt;
* Далее проверяет если '''obj'''&lt;br /&gt;
* Если '''obj''' нет, то идёт проверку, и выдаёт результат&lt;br /&gt;
(если при этом если '''x1''', '''x2''', '''y1''', '''y2''' нет, то они считаются по ширине и высоте всего экрана.)&lt;br /&gt;
* Если есть '''obj''', то проверяет есть ли радиусы '''rm''', '''ro'''.&lt;br /&gt;
* Если он есть, то значит у нас '''apply''' по кругам&lt;br /&gt;
* Если нет, то проверяем наличие '''x1''', '''x2''', '''y1''', '''y2'''.&lt;br /&gt;
* Если они есть, то проверка и результат.&lt;br /&gt;
* Если их нет, то проверка идёт по шейпам объектов, и выдаётся результат/&lt;br /&gt;
Если не будет стоять ни каких галочек, то проверка будет идти по шейпам объектов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пусть, например, есть снаряд, который при помощи мышки надо кинуть в &amp;quot;тыкву&amp;quot;. Если мы промахнулись, снаряд должен вернуться обратно, а с тыквой ничего не произойти. Если мы в тыкву попадаем, снаряд также возвращается, а тыква &amp;quot;взрывается&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;trow&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;init x=&amp;quot;-350&amp;quot; y=&amp;quot;150&amp;quot;/&amp;gt;                      // начальное положение&lt;br /&gt;
    &amp;lt;throw go=&amp;quot;fly&amp;quot;/&amp;gt;                             // бросаем&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;fly&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;phys ay=&amp;quot;100&amp;quot;/&amp;gt;                              // летим&lt;br /&gt;
    &amp;lt;apply y2=&amp;quot;300&amp;quot; go=&amp;quot;throw&amp;quot;/&amp;gt;                  // с землей&lt;br /&gt;
    &amp;lt;apply obj=&amp;quot;тыква&amp;quot; rm=&amp;quot;8&amp;quot; ro=&amp;quot;10&amp;quot; st=&amp;quot;bang&amp;quot;/&amp;gt; // с тыквой&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Условия ==&lt;br /&gt;
&lt;br /&gt;
=== if ===&lt;br /&gt;
&lt;br /&gt;
В состоянии может быть произвольное число команд if. Их номера (начиная с нуля) указываются&lt;br /&gt;
в параметре if других команд. Эти номера можно соединять при помощи логических связок:&lt;br /&gt;
* '''&amp;amp;''' - логическое '''и''' (вместо значка '''&amp;amp;''' можно использовать запятую ''',''');&lt;br /&gt;
* '''|''' - логическое '''или''';&lt;br /&gt;
* '''!''' - логическое '''не'''.&lt;br /&gt;
Пример записи логического выражения в поле if некоторой команды: '''(1&amp;amp;2)|(3&amp;amp;(!4))''',&lt;br /&gt;
что означает: выполняется if под номером 1 и под номером 2, или под номером 3 и не под номером 4.&lt;br /&gt;
&lt;br /&gt;
'''!!!Важно:''' нужно использовать полную скобочную структуру :  &amp;quot;((1&amp;amp;2)&amp;amp;3)&amp;quot; - правильно,  &amp;quot;1,2,3&amp;quot; - не правильно ( не гарантируется 100% адекватная работа).&lt;br /&gt;
&lt;br /&gt;
Логические связки используются также как математической логике или любом языке программирования. &lt;br /&gt;
Так:&lt;br /&gt;
* A '''&amp;amp;''' B - истинно, если истинны оба условия A и B;&lt;br /&gt;
* A '''|''' B - истинно, если истинно хотя бы одно условие (или оба);&lt;br /&gt;
* '''!''' А - истинно, если условие A ложно.&lt;br /&gt;
Скобки в логическом выражении определяют приоритет (порядок) выполнения логических операций.&lt;br /&gt;
Отметим несколько тождеств, справедливых при формировании логических высказываний:&lt;br /&gt;
* !(A &amp;amp; B) = (!A) | (!B)&lt;br /&gt;
* !(A | B) = (!A) &amp;amp; (!B)&lt;br /&gt;
* !(!A) = A&lt;br /&gt;
&lt;br /&gt;
Если при формировании условия (ниже) есть несколько проверок, то они соединены логическим '''и'''.&lt;br /&gt;
Т.е., если хотя бы одна из них не выполняется, то считается, что условие не выполнилось.&lt;br /&gt;
&lt;br /&gt;
Параметры команды:&lt;br /&gt;
* '''obj''' - находится ли объект obj в состоянии st или имеет ли его параметр par значение val. В этом поле можно указать this, это значит что if будет проводить проверку текущего объекта. Добавлено это вместе с параметром clone. Клоны рождаются и умирают в рамках одного экрана. Для различия клонов между собой машина имеет уникальный параметр &amp;quot;clone_num&amp;quot; у оригинала = -1, у клонов от 0 до N, собственно с помощью this машина может сама себя проверить клон ли она и если да то какой у нее номер;&lt;br /&gt;
* '''st''' - имя состояния в котором может находиться объект obj;&lt;br /&gt;
* '''par''' - имя параметра объекта obj, значение которого сравнивается с полем val;&lt;br /&gt;
* '''val''' - значение параметра par, которое проверяется у объекта obj;&lt;br /&gt;
* '''val_txt''' - Значение текстового параметра объекта для проверки условия;&lt;br /&gt;
* '''val_res''' - Значение ресурсного параметра объекта для проверки условия;&lt;br /&gt;
* '''val_obj''' - Значение id объекта для проверки условия;&lt;br /&gt;
* '''op''' - операция сравнения par op val. Если операции нет, то предполагается проверка на равенство par=val. Иначе используются операторы:&lt;br /&gt;
** '''&amp;lt;''' - меньше (par &amp;lt; val);&lt;br /&gt;
** '''&amp;gt;''' - больше (par &amp;gt; val);&lt;br /&gt;
** '''!=''' - не равно (par != val);&lt;br /&gt;
** '''&amp;lt;&amp;gt;''' - не равно (par &amp;lt;&amp;gt; val);&lt;br /&gt;
** '''&amp;gt;=''' - больше или равно (par &amp;gt;= val);&lt;br /&gt;
** '''&amp;lt;=''' - меньше или равно (par &amp;lt;= val);&lt;br /&gt;
* '''curScr''' - если текущий экран совпадает с этим, то условие выполнилось;&lt;br /&gt;
* '''prScr''' - если предыдущий экран совпадает с этим, то условие выполнилось;&lt;br /&gt;
* '''wasScr''' - если был (когда либо) этот экран, то условие выполнилось.&lt;br /&gt;
* '''buy''' - был ли куплен данный inn-app (проверяется флаг поля в объекте [[Options]]);&lt;br /&gt;
* '''url''' - валиден (правилен и может быть запущен) ли данный интернет-адрес; на ios ссылка должна выглядеть так comabsolutisttwilighttown://, т.е. в конце ссылки добавляем ://&lt;br /&gt;
* '''is_mus''' - играет ли сейчас музыка (значение 1);&lt;br /&gt;
* '''guest''' - объект который установил состояние (используется вместо параметра obj). Если указанный объект не менял состояние этой машины, то условие не срабатывает.&lt;br /&gt;
&lt;br /&gt;
Если использовать obj, par, val, то будет происходить проверка на равенство значения параметра объекта и значения записанного в поле val.&lt;br /&gt;
Если же использовать obj, par, op, val, то будет происходить проверка в соответствии с операцией сравнения значения параметра объекта и значения записанного в поле val.&lt;br /&gt;
&lt;br /&gt;
Для проверки текущего значения прозрачности у объекта можно воспользоваться параметром ''cur_al''&lt;br /&gt;
&lt;br /&gt;
У машины (другой или самой себя) можно проверить текущее состояние '''st''' и предыдущее состояние '''prev_st''', эти параметры живут на время сессии.&lt;br /&gt;
&lt;br /&gt;
== Математика ==&lt;br /&gt;
&lt;br /&gt;
=== Основные математические операции ===&lt;br /&gt;
Математика в appsalute creator представлена 6-ю основными операциями: (плюс),  (минус),  (умножить),  (поделить), (целочисленное деление), (остаток от деления) &amp;lt;br&amp;gt;&lt;br /&gt;
Организована благодаря совместному использованию '''[[#var|var]]''' и '''[[#set|set]]'''. &lt;br /&gt;
[[Файл:Example_mod.png|300px|right|Пример использования операции остатка от деления]]&lt;br /&gt;
''(плюс)'' '''+'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(минус)'' '''-'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(умножить)'' '''*'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(поделить)'' '''/'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(целочисленное деление)'' '''\'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(остаток от деления)'' '''%'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Примеры использования последних двух операций:&amp;lt;br&amp;gt;&lt;br /&gt;
5\2=2&amp;lt;br&amp;gt;&lt;br /&gt;
5%2=1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== var ===&lt;br /&gt;
Благодаря использованию '''[[#var|var]]''' существует возможность cчитать любой числовой параметр любого объекта. Например: x - координату какой-то машины, текущее значение любого объекта counter или timer и конечно же считывание значения любого параметра из опций! Каким образом это устроено? Рассмотрим подробнее '''[[#var|var]]''': &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:VAR.png|right]]&lt;br /&gt;
*'''name''' - здесь выбираем имя для нашей будущей переменной, которой будем оперировать далее&lt;br /&gt;
*'''obj''' - выбирается объект, параметры которого мы хотим считать&lt;br /&gt;
*'''par''' - параметр, который нужно вычитать из объекта, указанного выше&lt;br /&gt;
*'''val''' - указывается числовое значение, которое будет установлено по умолчанию в случае отсутствия obj и par&lt;br /&gt;
*'''user''' - если стоит &amp;quot;1&amp;quot;, то будет считываться с текущего профиля в опциях&lt;br /&gt;
На изображении справа можно наблюдать каким образом организован '''[[#var|var]]'''. В данном случае объявлена переменная x_cor, которая считывает x-координату объекта actor_1, при этом считывание переменной происходит из текущего профиля, так, как в поле user установлено значение равное &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== set ===&lt;br /&gt;
[[Файл:SET.png|right]]&lt;br /&gt;
Использование '''[[#var|var]]''' без '''[[#set|set]]''' не имеет смысла. Так, как переменная создается, но не используется дальше. Рассмотрим следующий пример, где вычитаем x - координату из одного объекта и сохраним ее в опции, предварительно увеличив ее на 50 единиц (в данном случае 50 пикселей).&lt;br /&gt;
На рисунке справа можно наблюдать, каким образом это сделано. В состоянии '''init''' объявляется переменная '''x_cor''', которая считывает координату '''x''' из объекта '''actor_1''', таким образом в переменную '''x_cor''' запишется положение по '''x''' объекта '''actor_1'''. Поле '''user''' в данном случае в '''1''' не обязательно устанавливать, так как работа ведется с машинами, а не с опциями. Если бы на месте '''actor_1''' оказался объект '''options''', то это было бы просто необходимо, иначе программа считает значение не из профиля. Далее в '''[[#set|set]]''' выбран объект '''options''',  в параметр '''x_position''' которого будет сохранятся значение переменной '''x_cor''' увеличенной на 50. В поле '''round''' идет округление вычисляемого значения, если оно установлено в 1. Поле '''user ''' установлено в 1, это значит, что параметр '''x_position''' будет сохранен в профиль. После это выполняется сохранение опций путем задания объекту '''options''' состояния '''save'''.&amp;lt;br&amp;gt;&lt;br /&gt;
! ! !ВАЖНО: чтобы выполнить какие-то действия с '''[[#var|var]]''' его обязательно нужно указывать в поле '''val''' в '''set''', при этом, если он используется, то все выражение должно стоять в скобках. Если в поле '''val''' не используется переменная, то скобки необязательны.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Существует также возможность использовать '''[[#var|var]]''' совместно с '''[[#if|if]]''', а также '''[[#var|var]]''' с '''[[#move|move]]'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 Так же добавилась возможность записывать значение переменной в состояние &amp;quot;st&amp;quot;, что значительно уменьшает&lt;br /&gt;
 необходимость в записи 1000 if-ов. При этом, тип переменной в '''[[#var|var]]''' должен быть &amp;quot;строка&amp;quot;.&lt;br /&gt;
 И добавилась возможность записи переменной boolean: ((a)==(b)). true = 1, false = 0. Довольно полезная вещь,&lt;br /&gt;
 если не хотите забивать &amp;quot;память&amp;quot; ненужной математикой.&lt;br /&gt;
&lt;br /&gt;
=== var и if ===&lt;br /&gt;
[[Файл:IF.png|right]]&lt;br /&gt;
При подробном рассмотрении '''[[#if|if]]''' можно заметить, что в нем есть поле '''val''', соответственно в этом поле можно указать переменную. Таким образом в поле '''val''' необязательно указывать константу, а можно указать какую-то переменную, которая может постоянно изменяться. Например, существует два объекта, один находится состоянии покоя, а другой находится в движении. При этом первый объект (тот, который в состоянии покоя) постоянно опрашивает положение второго объекта, и в случае, если у объекта, который движется, '''х''' координата  равна '''х''' координате первого объекта, то первый объект входит в состояние, где он начинает свое движение. На рисунке показан объект, который находится в состоянии покоя, рассмотрим его состояния:&amp;lt;br&amp;gt;&lt;br /&gt;
В данном объекте существует два состояния: '''init''' и '''move'''. В '''init''' объект опрашивает другой объект и в случае, когда условие срабатывает, то переходит в состояние '''move''', где начинает свое движение.&lt;br /&gt;
В '''init''' создаем переменную, в которую записываем положение по '''x''' объекта '''actor_2''', в '''if''' проверяется условие на соответствие координат объектов '''actor_1''' и '''actor_2''', в данном случае координата объекта '''actor_2''' представлена в виде переменной '''x_cor'''. Если условие выполняется, то происходит переход в состояние '''move''', если нет, то заново проходим состояние '''init''' и повторяем вышеописанную последовательность действий.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== var и move ===&lt;br /&gt;
Также с помощью '''[[#var|var]]''' есть возможность указать целевые координаты в '''[[#move|move]]'''. То есть, не обязательно указывать целевые координаты в виде констант, их можно указать теперь с помощью переменных. При использовании '''[[#var|var]]''' и '''[[#move|move]]''' можно организовать обмен двух объектов местами с анимацией движения. Для этого необходимо определять какой объект нажат первым, а какой вторым, сохранять их координаты через объект '''options''' и только потом менять их местами. На рисунке можно увидеть, как это организовано.&lt;br /&gt;
[[Файл:var_move.png|1000px|thumb|center|]]&lt;br /&gt;
Рассмотрим подробнее состояние данной машины:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''init'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии ожидаем клик на объект и обнуляем параметр, который отвечает за то, какой по счету объект сейчас нажат. Так, как при обмене объектов, если мы делаем это по клику, важно знать, по какому кликнули  первым, а по какому вторым.&lt;br /&gt;
* '''check'''&amp;lt;br&amp;gt;&lt;br /&gt;
Проверяется параметр '''number''', если он равен '''0''', то это значит, что еще ничего не кликали и мы переходим в состояние, где в опции записываются координаты этого объекта, который считается нажатым первым. Если не равен '''0''', то считается, что этот объект нажат вторым и переходит в состояние, где в опции записываются координаты этого объекта, который считается нажатым вторым по счету.&lt;br /&gt;
* '''first_object'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии записываются координаты объекта в опции. Чтобы записать координаты в опции используются '''[[#var|var]]''' и '''[[#set|set]]''' упоминаемые выше. В опции координаты первого нажатого объекта сохраняются под параметрами '''x_first''' и '''y_first'''. В конце параметру '''number''' присваиваем значение '''1''', чтобы указать, что следующий нажатый объект будет вторым по счету. &lt;br /&gt;
* '''second_object'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он будет нажатым вторым по счету, то есть после состояния '''check''' объект попадет в это состояние, где он запишет свои текущие координаты под параметрами '''x_second''' и '''y_second'''. Запись координат происходит таким же самым образом, что и в состоянии '''first_object'''. После этого он автоматически переходит в следующее состояние.&lt;br /&gt;
* '''move_first'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он был нажат первым, поэтому он будет двигаться на место второго нажатого объекта, который сохранил свои координаты в параметры'''x_second''' и '''y_second'''. Движение происходит следующим образом: сперва в переменную вычитываем координаты второго объекта, а потом в '''move''' вместо целевых координат записываем переменные, которые обязательно должны быть взяты в скобки.&lt;br /&gt;
* '''move_second'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он был нажат вторым, поэтому он будет двигаться на место первого нажатого объекта, который сохранил свои координаты в параметры '''x_first''' и '''y_first'''. Движение происходит следующим образом: сперва в переменную вычитываем координаты первого объекта, а потом в '''move''' вместо целевых координат записываем переменные, которые обязательно должны быть взяты в скобки.&lt;br /&gt;
&lt;br /&gt;
В результате проделанных манипуляций с машинами по кликам на две машины, они обменяются местами с анимацией движения. Это может быть очень полезным во многих мини играх!!!&lt;br /&gt;
&lt;br /&gt;
=== Важно знать ===&lt;br /&gt;
* Переменная действует в рамках одного состояния, если нужно, чтобы она была глобальной, нужно сохранить ее в опции и потом в нужный момент считывать ее из опций.&lt;br /&gt;
* Если складываем два числа, то в поле '''val''' они должны быть записаны в скобках: (5+3).&lt;br /&gt;
* Если возникает необходимость написать какое-то более сложное арифметическое вычисление, то следует помнить, что на одно действие приходятся одни скобки. Например: (((5+3)\2)*2).&lt;br /&gt;
* Количество открывающих и закрывающих скобок должно быть одинаковым.&lt;br /&gt;
* В скобках можно писать переменную, если она была объявлена выше: (5+a).&lt;br /&gt;
* Переменная может состоять из цифр и букв и знака нижнего подчеркивания.&lt;br /&gt;
* Иногда бывает необходимым использование '''round''' в '''set''', так например, если какой-то параметр получен с помощью арифметических вычислений и потом используется его в каком-то условии, и условие проверяет параметр, как целочисленное значение, то могут возникнуть ошибки. Так, как число будет записано в следующем виде 123.0000 и программа будет считать, что оно не целочисленное, а дробное. И чтобы избавится от лишних нулей  в дробной части следует округлять число.&lt;br /&gt;
* Действия, которые требуют времени, такие как move, rot, wait и другие перестают работать для уменьшения вычислительной нагрузки на устройство.&lt;br /&gt;
* Действия, которые не требуют времени, такие как set, init и другие продолжают функционировать.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если с помощью переменной менять объекту любой параметр, например, координату X, то она&lt;br /&gt;
запомнится (запишется как значение по умолчанию).&lt;br /&gt;
Тогда при повторном попадании на экран считается не тот X, который указан в свойствах,&lt;br /&gt;
а тот, который установлен через переменную.&lt;br /&gt;
Если нужно при ините экрана возвращать начальные значения параметров,&lt;br /&gt;
то можно сделать это двумя способами:&lt;br /&gt;
- не использовать переменную;&lt;br /&gt;
- создать отдельное состояние, которое будет &amp;quot;вручную&amp;quot; устанавливать начальные значения&lt;br /&gt;
параметрам при ините экрана.&lt;br /&gt;
Если координата (или другой параметр) меняется другим способом, то будут автоматически&lt;br /&gt;
при ините экрана подтягиваться значения из свойств объекта.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Примеры применений ===&lt;br /&gt;
С помощью математики можно организовать следующее:&lt;br /&gt;
* динамические опции (изменение звука и музыки с помощью ползунка);&lt;br /&gt;
* анимацию каунтера в играх (по окончанию уровня можно наблюдать, как изменяются очки);&lt;br /&gt;
* подсчет очков (гибкая система подсчета очков);&lt;br /&gt;
* обмен объектов местами (использование var и move)&lt;br /&gt;
* увеличение z-координаты любого объекта (когда необходимо, чтобы нажатый или таскаемый объект был выше других по z);&lt;br /&gt;
* простейший калькулятор;&lt;br /&gt;
* и много других.&lt;br /&gt;
&lt;br /&gt;
== Копирование машины состояния с сохранением ссылки на себя ==&lt;br /&gt;
Довольно часто бывает, что машина состояний ссылается только на глобальные объекты и на саму себя. При этом, если мы просто скопируем объект, он будет ссылаться на свою предыдущую копию. Этого можно избежать, сделав 3 шага:&lt;br /&gt;
1. Переместить объект в отдельную сцену&lt;br /&gt;
2. Скопировать данную сцену(имеется в виду обычное копирование, без ссылки)&lt;br /&gt;
3. Перенести объект и его копию обратно, в нужную сцену&lt;br /&gt;
4. Созданные сцены можно удалить :)&lt;br /&gt;
&lt;br /&gt;
== Guest ==&lt;br /&gt;
&lt;br /&gt;
'''Guest (гость)''' - объект, который перевел машину в текущее состояние. Пример: кнопка ''btn1'' по клику переводит машину ''mch1'' в состояние ''st1'', в этом состоянии у машины ''mch1'' гостем является кнопка ''btn1''. Гостем может быть объект любого типа, если он может менять состояние другому объекту (например: хидден-объект по нахождению может менять состояние объекту, кнопка, машина, пэчворк и т.д.)&lt;br /&gt;
&lt;br /&gt;
В машине состояний можно считывать (проверять) и передавать параметры и состояния гостя. Любое поле ''obj'' в выпадающем списке содержит строку ''guest'', что позволяет работать с гостем, как с любым другим объектом.&lt;br /&gt;
&lt;br /&gt;
=== Пример использования ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Guest1.jpg|left]]&lt;br /&gt;
Пускай экран содержит 3 кнопки (''btn1'', ''btn2'' и ''btn3'') и одну машину ''mch1''. Нужно сделать так, чтобы по клику на любую из кнопок машина перемещалась в ее координаты и переводила кнопку в состояние ''disable''. Так же по клику на кнопку ''btn2'', машина должна перейти в состояние ''bonus''.&amp;lt;br&amp;gt;&lt;br /&gt;
Всем трем кнопкам по клику пропишем передавать объекту ''mch1'' состояние ''check''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Создадим в машине три состояния: ''init'' - состояние в котором машина будет находиться по умолчанию, ''check'' - состояние, которое будет вызываться тремя кнопками, в этом состоянии у машины ''mch1'' одна из трех кнопок будет гостем, ''bonus'' - последнее состояние.&amp;lt;br&amp;gt;&lt;br /&gt;
Две команды ''var'' считывают у гостя координаты, т.к. мы не знаем, какая именно кнопка перевела машину ''mch1'' в состояние ''check'', то обращаемся к гостю, а не к кнопкам. За ними следует две команды ''set'', которые передают координаты гостя машине. Еще один ''set'' переводит гостя в состояние ''disable''. И через ''wait'' осуществляется переход в состояние ''bonus'', если гость ''btn2''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
При смене состояния гость сохраняется, т.е. в состоянии bonus гостем останется btn2.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если машина изначально сама себе меняет состояния, то у нее нет гостя.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Guest2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Массив (Array) ==&lt;br /&gt;
&lt;br /&gt;
В данном объекте реализован массив, имеющий максимальную длину в 20 элементов.&lt;br /&gt;
&lt;br /&gt;
=== Свойства объекта массив: ===&lt;br /&gt;
&lt;br /&gt;
len - длинна массива. Длинна массива может как считываться, так и записываться. Влияет на количество сохраняемых объектов в Options.&lt;br /&gt;
&lt;br /&gt;
index1 - индекс элемента. (данный массив можно расширить до многомерного и использовать несколько индексов)&lt;br /&gt;
&lt;br /&gt;
val - значение элемента массива, с индексом index1&lt;br /&gt;
&lt;br /&gt;
a1..a20 - внутренние элементы массива(обращаться можно через свойство par объекта). Предполагается, что пользователь редактора к ним обращаться напрямую не будет, однако иногда для удобства полезны.&lt;br /&gt;
&lt;br /&gt;
=== Состояния объекта массив: ===&lt;br /&gt;
&lt;br /&gt;
get - при вызове этого состояния во внутреннюю переменную val записывается значение элемента с индексом index1&lt;br /&gt;
&lt;br /&gt;
set - при вызове этого состояния во внутреннюю переменную a1..a20, соответствующую индексу index1 записывается значение val&lt;br /&gt;
&lt;br /&gt;
load - загрузить значения массива из xml.&lt;br /&gt;
&lt;br /&gt;
save - сохранить элементы массива от 1 до len&lt;br /&gt;
&lt;br /&gt;
=== Как использовать? ===&lt;br /&gt;
&lt;br /&gt;
1. Загружаем массив, переводя объект array в состояние load&lt;br /&gt;
&lt;br /&gt;
2. Записываем значения массива&lt;br /&gt;
&lt;br /&gt;
 а). Задаём значение свойству index1 объекта array (устанавливаем индекс ячейки, в которую будет заноситься число)&lt;br /&gt;
 б). Задаём значение свойству val объекта array (устанавливаем значение, которое будет заноситься в ячейку&lt;br /&gt;
     с индексом index1)&lt;br /&gt;
 в). Переводим объект array в состояние set&lt;br /&gt;
&lt;br /&gt;
3. Считываем значения массива&lt;br /&gt;
 а). Задаём значение свойству index1 объекта array (устанавливаем индекс ячейки, из которой будет считываться число)&lt;br /&gt;
 б). Переводим объект array в состояние get&lt;br /&gt;
 в). Считываем значение из свойства val объекта array&lt;br /&gt;
&lt;br /&gt;
4. Сохраняем массив, переводя объект array в состояние save. Если хотите изменить количество сохраняемых элементов - предварительно измените параметр len.&lt;br /&gt;
&lt;br /&gt;
=== Копирование объекта ===&lt;br /&gt;
&lt;br /&gt;
При копировании, необходимо заменить в состояниях load и save array.имя_параметра на другое имя. Например, array2.имя_параметра. Копировать следует через использование доп. сцены (см. выше)&lt;br /&gt;
&lt;br /&gt;
=== Достоинства ===&lt;br /&gt;
&lt;br /&gt;
Позволяет избежать необходимости каждый раз создавать большое количество if-ов и set-ов, если необходимо работать с нумерованным списком. Можно один раз создать структуру и копировать её неограниченное количество раз&lt;br /&gt;
&lt;br /&gt;
=== Недостатки ===&lt;br /&gt;
&lt;br /&gt;
Данный объект содержит довольно большое количество кода, поэтому при большом их обилии/длине может занизить скорость работы сцены и скорость загрузки сцены.&lt;br /&gt;
&lt;br /&gt;
=== Исходный XML код===&lt;br /&gt;
Прим. id=&amp;quot;369&amp;quot; - идентификатор объекта Options, сохраняющего все переменные приложения. id=&amp;quot;7845&amp;quot; - идентификатор объекта&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;obj id=&amp;quot;7845&amp;quot; type=&amp;quot;machine&amp;quot; nm=&amp;quot;array&amp;quot; sync=&amp;quot;1&amp;quot; w=&amp;quot;1&amp;quot; h=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;init&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;get&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;set&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;val&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;load&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a1&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a2&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a3&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a4&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a5&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a6&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a7&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a8&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a9&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a10&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a11&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a12&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a13&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a14&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a15&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a16&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a17&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a18&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a19&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a20&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;save&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;len&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a1&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a2&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a3&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a4&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a5&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a6&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a7&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a8&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a9&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a10&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a11&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a12&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a13&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a14&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a15&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a16&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a17&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a18&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a19&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a20&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.len&amp;quot; val=&amp;quot;(len)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
            &amp;lt;/obj&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машина состояний объекта ===&lt;br /&gt;
[[Файл:array.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пример использования ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/machine.rar Download]&lt;br /&gt;
&lt;br /&gt;
== Clone ==&lt;br /&gt;
Clone - параметр команды init в разделе &amp;quot;системные действия&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Clone1.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Значение 1 означает, что в текущем местоположении машины будет создана ее копия.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Clone2.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства ===&lt;br /&gt;
&lt;br /&gt;
1) Клонированная машина состояний имеет все свойства, состояния и параметры исходного объекта клонирования.&lt;br /&gt;
&lt;br /&gt;
2) Клоны рождаются и умирают в рамках одного экрана.&lt;br /&gt;
&lt;br /&gt;
3) Клоны отличаются друг от друга лишь параметром '''clone_num''', который у оригинала равен &amp;quot;-1&amp;quot;, а у клонов от 0 до N.&lt;br /&gt;
&lt;br /&gt;
4) Нежелательно применять клонирование к клону во избежание путаницы значений параметра '''clone_num'''.&lt;br /&gt;
&lt;br /&gt;
5) Если при проверке условия [[#if|if]] в поле '''obj''' указать this, это значит что if будет проводить проверку текущего объекта.  Таким образом машина может сама себя проверить по параметру '''clone_num''' клон ли она и если да то какой у нее номер;&lt;br /&gt;
&lt;br /&gt;
=== Пример использования ===&lt;br /&gt;
&lt;br /&gt;
По ссылке пример использования с подробным описанием машин.&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/Clone.zip Download]&lt;br /&gt;
&lt;br /&gt;
== Параметр команды машины состояний ==&lt;br /&gt;
&lt;br /&gt;
В случае, когда необходимо изменить значение какого-либо параметра в командах машины состояний (например v в команде move) в процессе работы приложения, можно использовать блок &amp;quot;Параметр команды машины состояний&amp;quot; в команде ''set'' машины состояний. Приведу пример использования этого блока.&lt;br /&gt;
&lt;br /&gt;
Пусть есть 2 машины: управляющая и управляемая.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Stm1.jpg|300px]][[Файл:Stm2.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
Управляемая машина практически пустая и не содержит каких либо данных о движении, но тем не менее при запуске она будет двигаться, меняя направление. Это движение - заслуга управляющей машины, которая на ходу изменяет параметры движения управляемой. Рассмотрим более детально ее состояния.&lt;br /&gt;
&lt;br /&gt;
В первом состоянии &amp;quot;wait&amp;quot; мы пытаемся изменить скорость движения управляемой машины. Для этого указали объект (sun), состояние в котором хотим поменять параметр (у машины sun это состояние move), имя команды в которой меняем параметр (в данном случае это move), номер команды (если таких команд несколько, то нужно указать порядковый номер начиная с 0; в нашем случае команда одна), имя параметра (мы хотим изменить скорость, поэтому имя параметра v) и значение (указали значение 200). После этого переходим в следующее состояние.&lt;br /&gt;
&lt;br /&gt;
В состоянии &amp;quot;1&amp;quot; управляющей машины сначала мы вывели объект sun из состояния move, изменили параметр целевой координаты x на 512 и затем вернули в состояние move, чтобы применить изменения параметров. Таким образом управляемая машина начала движение в x=512 со скоростью 200. Через 2 секунды мы переводим управляющую машину в состояние &amp;quot;2&amp;quot;, где аналогичным образом изменяется целевая координата на -512.&lt;br /&gt;
&lt;br /&gt;
Такой способ задания параметров может найти применение в случае, когда параметры нужно задавать переменными.&lt;br /&gt;
&lt;br /&gt;
==Запись в viewer.log ==&lt;br /&gt;
&lt;br /&gt;
Во время работы приложения, машина состояний может писать информацию о своей работе в viewer.log. Для этого параметр '''Level''', в разделе '''[GameTrace]''' файла '''app.icf''' должен быть выставлен в значение '''Verbose'''.&lt;br /&gt;
&lt;br /&gt;
При этом нужно иметь ввиду, что приложение работает более медленно, чем при обычном использовании. При настройке процессов, привязанных к времени (анимация и т.д.) логирование нужно отключать, путем установки флага '''Level''' в значение '''Info'''.&lt;br /&gt;
&lt;br /&gt;
Ниже приведен пример записи из viewer.log. Жирным шрифтом выделено полезную информацию. &lt;br /&gt;
&lt;br /&gt;
*Machine::state() state machine '''stat_google_gold (id:30818)''' from '''enough_coins''' to '''enough_coins''' through object '''c_current_gold (id:8807)''' from state '''inc''' - машина с именем и id: '''stat_google_gold (id:30818)''' перешла из состояния: '''enough_coins''' в: '''enough_coins'''; ее состояние изменил объект с именем и id: '''c_current_gold (id:8807)''' из состояния: '''inc'''.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:17''' - машина с id '''(id:28076)''' начала выполнять команду '''set id:17'''; сначала проверяется истинно ли условие выполнения команды (if).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(0)=no''' - имеем некоторое сложное условие, проверяем его составляющие; if(0) не выполняется (имеет значение false).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(1)=yes''' - условие if(1) выполняется (имеет значение true).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(2)=yes''' - условие if(2) выполняется (имеет значение true).&lt;br /&gt;
*GMachine::Command::checkIf() GMachine'''(id:28076)'''::Command::'''checkIf id:17 expr:((0|(!1))|(!2)) res:false''' - проверяется все выражение; общий результат false, set(17) не выполняется.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18''' - машина с id '''(id:28076)''' начала выполнять команду '''set id:18''', в данном set условие if отсутствует.&lt;br /&gt;
*GMachine::Command::checkIf() GMachine'''(id:28076)'''::Command::'''checkIf id:18 expr: res:true''' - в команде set(18) условие '''checkIf id:18 expr: res:true''' есть истинно (точнее - не есть ложным, так как оно отсутствует); set(18) будет выполнен.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18 checkIf success''' - проверка условия прошла успешно, выполняем set(18).&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18 obj:16039 -&amp;gt; par:param_name val:bundle_coins us:0''' - результат выполнения set(18) - объекту '''obj:16039''' устанавливаем параметр '''par:param_name val:bundle_coins''' равным '''us:0'''.&lt;br /&gt;
*GMachine::Command::getVarValue() Command::'''getVarValue(bundle_item): float result = 0.00''' - вычитываем переменную с помощью команды var; вычитываем параметр '''bundle_item''', результат операции '''float result = 0.00'''.&lt;br /&gt;
*GMachine::Set::init() Set::init: Expression: '''(bundle_coins)=0.000000(float)''' - используем значение переменной в команде set; переменная вчитывается в момент обращения к ней из другой команды (set, move и др.).&lt;br /&gt;
&lt;br /&gt;
==Использование скриптов Lua ==&lt;br /&gt;
В машине состояний можно использовать скрипты [[Lua]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Окно==&lt;br /&gt;
В свойствах машины состояний есть 2 новых поля:&lt;br /&gt;
*'''окно''' - если ''да'', то машина считает себя окном. При включении данного параметра с момента постановки окна в очередь ''statesmanager'а'' и до вызова ''back'' в текущей машине блокируются внешние воздействия и переход между состояниями.&lt;br /&gt;
*'''тип окна''' - обычное; по альфе - при открытии отключает все нижние сцены по альфе; с фото - при открытии отключает все нижние сцены по альфе, предварительно делая фото этих сцен. Выключение сцен ''по альфе'' и ''с фото'' используются для больших окон основной очереди.&lt;br /&gt;
[[mwindow]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_ScenceEditor&amp;diff=9756</id>
		<title>Интерфейс ScenceEditor</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_ScenceEditor&amp;diff=9756"/>
		<updated>2018-12-05T08:59:09Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Экспорт проекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
== [[Файл:Ico_main.png]]Редактор сцен ==&lt;br /&gt;
&lt;br /&gt;
'''Редактор сцен''' — программа, предназначенная для создания, редактирования и экспорта  игровых экранов, в котором происходит настройка свойств объектов и игровой логики. &amp;lt;br&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;
*строка Координаты, отображающая координаты курсора в текущий момент времени&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для включения или отключения панели кликаем правой кнопкой мыши по серой области меню редактора и ставим галочку. Панели можно расположить на экране в любом порядке.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Файл:Головна2.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Меню редактора ===&lt;br /&gt;
&lt;br /&gt;
==== Project (Проект)====&lt;br /&gt;
меню, которое содержит список команд, с помощью которых можно создать новый или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.&lt;br /&gt;
*'''New project''' - создать новый проект; &lt;br /&gt;
*'''Open''' - открыть уже созданный проект (проект обязательно должен находится в подкаталоге редактора); &lt;br /&gt;
*'''Recent project...''' - показывает список последних открывавшихся проектов; &lt;br /&gt;
*'''Close''' - закрытие проекта (редактор при этом не закрывается); &lt;br /&gt;
*'''New project''' - создать новый проект; &lt;br /&gt;
*'''Save''' - сохранение проекта; &lt;br /&gt;
*'''Save as...''' - сохранение проекта под новым именем или в новом каталоге; &lt;br /&gt;
*'''Export...''' - экспорт проекта; &lt;br /&gt;
*'''Project options...''' - опции проекта; &lt;br /&gt;
*'''Exit''' - закрытие редактора. &lt;br /&gt;
&lt;br /&gt;
==== Edit (Редактирование)====&lt;br /&gt;
меню редактирования проекта:&lt;br /&gt;
*'''Copy''' - копирование объекта; &lt;br /&gt;
*'''Paste into current object''' - вставка объекта в выбранный объект; &lt;br /&gt;
*'''Paste after current object''' - вставка объекта после выбранного объекта;&lt;br /&gt;
*'''Delete...''' - удаление объекта;&lt;br /&gt;
*'''Scale object''' - масштабирование выбранного объекта, если у него есть масштаб (scale x \ scale y);&lt;br /&gt;
*'''Rotate object''' - поворот выбранного объекта, если у него есть параметр поворота (angle);&lt;br /&gt;
*'''Modify vertex''' - изменение положения точек вертекса у выбранного объекта, если вертексы включены; &lt;br /&gt;
*'''Find object...''' - поиск объекта по id или по имени;&lt;br /&gt;
*'''Setup Editor...''' - настройки редактора.&lt;br /&gt;
&lt;br /&gt;
[[Файл:SetupEditor.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
1) Языки - выбор языка редактора.&lt;br /&gt;
&lt;br /&gt;
2) Work mode - выбор режима работы.&lt;br /&gt;
&lt;br /&gt;
3) Syles - выбор темы редактора.&lt;br /&gt;
&lt;br /&gt;
4) Перемещение сцены мышью или клавишами клавиатуры - позволяет перемещать сцену на экране.&lt;br /&gt;
&lt;br /&gt;
5) Рисовать сетку на экране - отображать сетку на экране или нет.&lt;br /&gt;
&lt;br /&gt;
6) Utilities - Подключение утилит.&lt;br /&gt;
&lt;br /&gt;
	В редакторе есть возможность подключения утилит в форматах *.bat, *.exe, *.py, *.pyw, *.vbs.&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Для примера, подключим bat-файл, открывающий логи вьвера в notepad++.&lt;br /&gt;
&lt;br /&gt;
	Для этого создадим файл Logs.bat со следущими командами:&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
		cd C:\Users\&amp;lt;your-user&amp;gt;\AppData\Roaming\Absolutist\Viewer&lt;br /&gt;
&lt;br /&gt;
		start &amp;quot;C:\Program Files (x86)\Notepad++\notepad++.exe&amp;quot; &amp;quot;viewer.log&amp;quot; &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
	В настройки редактора добавим утилиту нажав на плюсик. В списке ниже появится поле добавленной утилиты.&lt;br /&gt;
 &lt;br /&gt;
Нажмем на многоточие в столбце &amp;quot;Browse&amp;quot;. В открывшимся окне &amp;quot;Open utility&amp;quot; откроем Logs.bat файл. После этого в меню редактора появится меню &amp;quot;Utilities&amp;quot; с командой Logs.&lt;br /&gt;
&lt;br /&gt;
==== View (Просмотр)====&lt;br /&gt;
*'''Toggle grid''' - включает\выключает отображение сетки на сцене;&lt;br /&gt;
*'''open/hide comment''' - показывает\скрывает комментарии к объекту;&lt;br /&gt;
*'''Disable object movements''' - выключает\включает возможность перемещать объекты по сцене.&lt;br /&gt;
&lt;br /&gt;
=== Viewer (Вьювер) ===&lt;br /&gt;
*'''Start Viewer''' - запуск вьювера;&lt;br /&gt;
*'''Start Viewer with changed time''' - запуск вьювера с заданным временем;&lt;br /&gt;
*'''Save and run viewer...''' - сохраняет проект и запускает вьювер;&lt;br /&gt;
*'''Run Viewer.bat''' - ???;&lt;br /&gt;
*'''Delete temp data''' - удаление опций; &lt;br /&gt;
&lt;br /&gt;
====Layouts (Лейаут, Макеты)====&lt;br /&gt;
меню работа с лейаутами проекта (выбор макета устройства для проекта, редактирование экранов):&lt;br /&gt;
*'''Add new layout...''' - создание нового лейаута;&lt;br /&gt;
*'''Delete layout...''' - удаление лейаута;&lt;br /&gt;
*'''Layout settings...''' - настройки лейаута;&lt;br /&gt;
*'''Add folder...''' - создание папки в текущем лейаута;&lt;br /&gt;
*'''Add screen...''' - создание нового экрана.&lt;br /&gt;
==== Tools (Инструменты)====&lt;br /&gt;
меню дополнительных редакторов и инструментов для проекта (вызов редактора ресурсов, текстового редактора, анализ проекта). Список этого меню вынесен на панель с кнопками быстрого запуска:&lt;br /&gt;
*'''Resources Editor''' - редактор ресурсов;&lt;br /&gt;
*'''Texts Editor''' - текстовый редактор;&lt;br /&gt;
*'''Analyzer''' - анализатор ресурсов (показывает количество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов));&lt;br /&gt;
*'''Object info...''' - общие свойства объекта (показывает размер памяти занимаемой текстурами);&lt;br /&gt;
*'''Options info...''' - информация об опциях.&lt;br /&gt;
&lt;br /&gt;
==== Help (Помощь)====&lt;br /&gt;
меню вызова справки.&lt;br /&gt;
&lt;br /&gt;
=== Кнопки панели Инструменты ===&lt;br /&gt;
Некоторые инструменты также вызываются горячими клавишами (комбинация клавиш приведена в скобках )&lt;br /&gt;
&lt;br /&gt;
[[Файл:00 6.png]] (Ctrl+N) — создать новый проект; &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:00 7.png]](Ctrl+O) — загрузить уже созданный проект;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:00 8.png]](Ctrl+S) — сохранить изменения в проекте;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:00 9.png]] —  запустить Viewer;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:009.JPG]] — нормальный вид; &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Ico_text.png|25px]] - вызов текстового редактора; &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Ico_base.png|25px]] — вызов редактора ресурсов;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:013.JPG]] — анализатор ресурсов (показывает количество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов)); &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:014.JPG]]— поиск объекта по id или по имени.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Функции рабочей области===&lt;br /&gt;
&lt;br /&gt;
'''1) Масштабирование рабочей области&amp;lt;br&amp;gt;'''&lt;br /&gt;
Ctrl + колесико мышки   крутим  вперед  - увеличиваем объекты  , назад  - уменьшаем объекты.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2)Перемещение по рабочей области&amp;lt;br&amp;gt;'''&lt;br /&gt;
После масштабирования возникает необходимость переместиться  с левого  уголка экрана в далекий правый, переместиться к выбраному обьекту, вверх или вниз.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кликаем правой кнопкой мыши по горизонтальному scroll и выпадает меню: &lt;br /&gt;
*scroll here —  функция перемещает экран к объекту, который выделен в Лэйауте;&lt;br /&gt;
*scroll left / right  -  функция перемещает экран на маленькое расстояние вправо / влево;&lt;br /&gt;
*left  / right edge — функция  перемещает экран в левый / правый угол экрана;&lt;br /&gt;
*page left / right  - функция показывает левую/правую часть экрана&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кликаем правой кнопкой мыши по вертикальному scroll и выпадает меню: &lt;br /&gt;
*scroll here —  функция перемещает экран к объекту, который выделен в Лэйауте;&lt;br /&gt;
*scroll up / down  -  функция перемещает экран на маленькое расстояние вверх / вниз;&lt;br /&gt;
*top/bottom  - функция  перемещает экран вверх / вниз;&lt;br /&gt;
*page up / down  - функция перемещает экран  верхнюю / нижнюю часть экрана.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Меню прокрутки скрывается по нажатию клавиши Alt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Функции панели Лэйаут===&lt;br /&gt;
[[Файл:Лэйаут_1.JPG|right]] &lt;br /&gt;
При клике правой кнопкой мыши по выбранному лэйауту (см. рисунок справа)&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;
*Lock (Unlock) screen -  золочивание (разлочивание) экрана: нельзя перемещать, удалять и изменять объекты (сцены) экрана, причем, если сцена расшареная, то она становиться залоченой и на остальных экранах; на залоченых экранах в панели проекта появляется замочек; &lt;br /&gt;
*Lock (Unlock) scene -  золочивание (разлочивание) сцены: нельзя перемещать, удалять и изменять объекты (машины, картинки и др.) сцены, причем, если сцена расшареная, то она становиться залоченой и на остальных экранах; на залоченых сценах также появляется замочек; &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;
*Импорт/экспорт экранов — импорт/экспорт одного или нескольких экранов;&lt;br /&gt;
*Развернуть / Свернуть объекты с подобъектами — сворачивает /разворачивает дерево объектов экрана или сцены; &lt;br /&gt;
&lt;br /&gt;
====Функция Расположить  сцену в соответствии  с изображением ====&lt;br /&gt;
Пусть на сцене будет находится очень много картинок, которые должны находиться в строго определенных местах. Переместим нашу картинку в нужную точку на сцене. Но у нас картинок очень много и мы потратим много времени на их расстановку. Для уменьшения времени на расстановку картинок воспользуемся функцией расположить сцену в соответствии  с изображением.&amp;lt;br&amp;gt;&lt;br /&gt;
Функция расположить сцену в соответствии с изображением перемещает картинку  в заданную точку  художниками.   Художник решил, что клумба должна быть в правом нижнем углу, после применения функции  расположить сцену в соответствии с изображением, картинка станет именно на указанное художником место. &amp;lt;br&amp;gt;&lt;br /&gt;
Данная функция вызывается кликом правой кнопкой мыши по  объекту&amp;lt;br&amp;gt; [[Файл:панель_свойства_1.JPG|right]]&lt;br /&gt;
&lt;br /&gt;
===Функции панели Свойства===&lt;br /&gt;
&lt;br /&gt;
*При клике на  тип или имя  некоторых объектов вызываются дополнительные окна.Например, при клике на тип Machine открывается окно, где прописываются функции объекта типа Machine.&lt;br /&gt;
*При наведении на поле тип выпадет подсказка с уникальным номером объекта.&lt;br /&gt;
*При клике правой мышкой по названию свойства объекта выпадает меню с дополнительными свойствами объекта&lt;br /&gt;
*Некоторые свойства объектов объединены в группы (см. рисунок справа)&lt;br /&gt;
&lt;br /&gt;
=== Создание проекта ===&lt;br /&gt;
&lt;br /&gt;
1. Для создания нового игрового проекта необходимо запустить редактор сцен SceneEditor.&amp;lt;br&amp;gt;&lt;br /&gt;
2. В верхнем меню Проект выбрать Новый (т.е. создать новый проект).&amp;lt;br&amp;gt;&lt;br /&gt;
3. В появившемся окне указываем имя проекта и имя базы ресурсов.Выбираем папку для сохранения проекта&amp;lt;br&amp;gt;&lt;br /&gt;
4. В этом окне выбираем устройство для которого создаётся проект, а затем выбираем тип магазина и вариант версии игры&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:020.JPG]] [[Файл:021.JPG]]&lt;br /&gt;
&lt;br /&gt;
5. В редакторе сцен в меню Проект → Сохранить → проект с именем Learning.&amp;lt;br&amp;gt; &lt;br /&gt;
Эту методику действий можно брать за шаблон для создания других проектов.&amp;lt;br&amp;gt;&lt;br /&gt;
Результат: Создана база ресурсов и проект для выполнения Уроков. &lt;br /&gt;
&lt;br /&gt;
====Важное замечание по созданию проекта====&lt;br /&gt;
[[Файл:2_лэйаута.JPG|right]]&amp;lt;br&amp;gt;&lt;br /&gt;
Предположим нам необходимо создать игру для магазина А и магазина Б. Игра будет отличаться только 10 функциями. Мы можем создать игру для магазина А., а потом скопировать папку с проектом, проект переименовать, внести изменения и получить игру для магазина Б. Результат:  2 игры и 2 папки с ресурсами. Такой подход не приветствуется.&amp;lt;br&amp;gt;&lt;br /&gt;
Для уменьшения времени на создание проекта, подключение ресурсов, внесения одинаковых объектов и  удобства отслеживания багов и прочего в Редакторе Сцен существует возможность создания двух лэйаутов в одном проекте.&lt;br /&gt;
При создании проекта мы выбираем оба магазина, после чего в панели Лэйаут  появится два лэйаута для магазина А и магазина Б(см. рисунок справа. При этом текстовая база проекта и база ресурсов у них будут идентичны. При создании новых объектов в одном лэйауте они же будут создаваться и в другом, при этом можно изменять свойства объекта каждого лэйаута независимо от второго.&amp;lt;br&amp;gt;&lt;br /&gt;
За применение изменений между лэйаутами отвечает параметр &amp;quot;синхронизация&amp;quot;, который есть у каждого объекта. Если стоит &amp;quot;синхронизировать&amp;quot;, то объект будет одинаков в каждом из лэйаутов. Если стоит &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;
*Запаковка графики в текстуры и контейнер&lt;br /&gt;
*При необходимости конвертирование файлов в pvr форматы&amp;lt;br&amp;gt;&lt;br /&gt;
С целью экономии оперативной памяти на устройстве возможно сжатие графики, упаковка графики в текстуры, создание нескольких исполняемых файлов, проекта, содержащих в себе несколько сцен проекта, и загружаемых в оперативную память устройства по мере прохождения игры.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Процедура экспорта проекта вызывается через меню редактора Проект - Экспортировать проект&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Scene editor export window.jpg|right]]&lt;br /&gt;
'''Параметры экспорта проекта:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''Настройки параметров графики''&lt;br /&gt;
*Ось Х, ось У — параметры сжатия графики по оси Х,У. Значения  параметра от 0 до 1.&lt;br /&gt;
*При выполнении сжатия рекомендуется обращать внимания на размер лэйаута&lt;br /&gt;
*Сжатие графики  возможно и непропорциональное . Используется редко&lt;br /&gt;
&lt;br /&gt;
''Параметры запаковки графики''&lt;br /&gt;
*Common textures size - максимальный размер графической текстуры для графики, которая не находится в контейнерах и попадает в одну текстуру, или максимальный размер графического файла, если он не в контейнере и не попадает в текстуру.&lt;br /&gt;
*Create dat container -  упаковка ресурсов в файл с типом DAT. Обеспечиваем защиту ресурсов проекта от несанкционированного доступа. Увеличиваем производительность при операциях чтения файлов ресурсов с твердотельного носителя.&lt;br /&gt;
*Quality - Качество графики, которая не находится в контейнерах&lt;br /&gt;
*Optimization - оптимизация графики для лучшего быстродействия(speed) или для занимаемого дискового пространства в распакованном виде(size)&lt;br /&gt;
&lt;br /&gt;
''Тип экспорта''  &lt;br /&gt;
*One project file - формируется один XML файл описывающий проект.     &lt;br /&gt;
*Split project on screens, load partly' - проект будет разбит на отдельные файлы описывающие экраны, загружаться файлы будут в порядке использования (вызова) в проекте. В результате получаем увеличение начальной загрузки проекта и использование меньшего объема оперативной памяти.&lt;br /&gt;
*Release build - оптимизация по размеру файла базы ресурсов и основного файла проекта.&lt;br /&gt;
&lt;br /&gt;
''Export to folder'' - Путь для экспорта. Если указан путь экспорта проекта - производится экспорт согласно настройкам для выбранной платформы. Если не указан - проект экспортируются под выбранную платформу и автоматически запускается сборка проекта.&lt;br /&gt;
Структура папки:&lt;br /&gt;
[[Файл:TreeFolder.png|TreeFolder.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Select platform''' - необходимо выбрать платформу для которой будем собирать проект. При экспорте на все платформы необходимо установить Marmalade SDK [[Установка и настройка|см. инструкцию]] при этом не нужно указывать путь для экспорта (оставить поле пустым). В результате запустится скрипт сборки исполняемого пакета, это будет видно по черным экранам с ходом выполнения процесса сборки.Процесс экспорта будет отображаться в окне.&lt;br /&gt;
&lt;br /&gt;
Таблица результирующих форматов для платформ&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |качество, оптимизация&lt;br /&gt;
 |IOS&lt;br /&gt;
 |Android&lt;br /&gt;
 |Windows Phone8&lt;br /&gt;
 |BlackBerry&lt;br /&gt;
 |Windows&lt;br /&gt;
 |Flash&lt;br /&gt;
 |Web&lt;br /&gt;
 |-&lt;br /&gt;
 |Best, size&lt;br /&gt;
 |webp(lossless)&lt;br /&gt;
 |webp(lossless)&lt;br /&gt;
 |png(RGBA)&lt;br /&gt;
 |png(RGBA)&lt;br /&gt;
 |webp(lossless)&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp(lossless)&lt;br /&gt;
 |-&lt;br /&gt;
 |Best, speed&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp&lt;br /&gt;
 |jxr&lt;br /&gt;
 |jxr&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp(lossless)&lt;br /&gt;
 |-&lt;br /&gt;
 |Medium, size&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp&lt;br /&gt;
 |-&lt;br /&gt;
 |Medium, speed&lt;br /&gt;
 |PVRTC + wepb(a8)&lt;br /&gt;
 |ETC1 + webp(a8)&lt;br /&gt;
 |BC3 + hitmask&lt;br /&gt;
 |PVR8888&lt;br /&gt;
 |BC3 + hitmask&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp&lt;br /&gt;
 |-&lt;br /&gt;
 |Low, size&lt;br /&gt;
 |PVRTC + webp(lossless)(a8)&lt;br /&gt;
 |ETC1 + webp(lossless)(a8)&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |jpg + png(a)&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp&lt;br /&gt;
 |-&lt;br /&gt;
 |Low, speed&lt;br /&gt;
 |PVRTC(RGBA) + hitmask&lt;br /&gt;
 |ETC1 + webp(a8)&lt;br /&gt;
 |BC3 + hitmask&lt;br /&gt;
 |PVR8888&lt;br /&gt;
 |BC3 + hitmask&lt;br /&gt;
 |webp&lt;br /&gt;
 |webp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*'''ETC''' - Ericsson Texture Compression : для устройств Android&lt;br /&gt;
*'''PVR''' - PowerVR Texture Compression : для устройств IOS&lt;br /&gt;
*'''bc3(dxt)''' -  DirectX Texture : Windows, Windows Phone 8&amp;lt;br&amp;gt;&lt;br /&gt;
При экспорте с галкой ETC2 текстуры ETC1 экспортятся в ETC2&lt;br /&gt;
&lt;br /&gt;
=== Режим отладки ===&lt;br /&gt;
&lt;br /&gt;
Включение режима отладки:&lt;br /&gt;
&lt;br /&gt;
[[Файл:SE debug0.JPG]]&lt;br /&gt;
&lt;br /&gt;
Инструменты отладки:&lt;br /&gt;
&lt;br /&gt;
[[Файл:SE debug1.JPG]]&lt;br /&gt;
&lt;br /&gt;
* '''Debug dock''' - установка брейкпоинтов (точек остановки) и вывод отладочного лога от сервера.&lt;br /&gt;
* '''Logging''' - вывод логов вьювера (параллельно с viewer.log) с подсветкой и фильтрами.&lt;br /&gt;
* '''Debug Options''' - вывод дерева опций, подсветка изменений (при работе вьювера), слежение за конкретными параметрами.&lt;br /&gt;
* '''Debug Properties''' - вывод параметров объекта под курсором по хоткею (из вьювера) - на момент написания не реализовано.&lt;br /&gt;
&lt;br /&gt;
==== Debug dock ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:SE debug2.JPG]]&lt;br /&gt;
&lt;br /&gt;
Принцип работы брейкпоинтов (точек остановки):&lt;br /&gt;
* Добавляем в табличку брейкпоинтов новый пункт&lt;br /&gt;
* Задает objectID интересующего объекта&lt;br /&gt;
** Задаем название состояния, при переходе на которое вьювер станет на паузу&lt;br /&gt;
** ИЛИ задаем название параметра, при изменении которого вьювер станет на паузу&lt;br /&gt;
* Запускаем вьювер с отладкой&lt;br /&gt;
*: [[Файл:SE debug3.jpg]]&lt;br /&gt;
* После перехода в заданное состояние вьювер станет за паузу, а в редактре сцен откроется окно машинки с этим состоянием.&lt;br /&gt;
&lt;br /&gt;
==== Logging ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:SE debug4.JPG]]&lt;br /&gt;
&lt;br /&gt;
* Сие логирование происходит только с запущеным в режиме отладки вьювером;&lt;br /&gt;
* Логи с ворнингами выделены оранжевым цветом ('''не игнорируйте их''');&lt;br /&gt;
* Логи с ошибками выделены красным цветом ('''а их уж тем более не игнорируйте!''');&lt;br /&gt;
* Кнопка ''Clear log'' - очищает логи из данного окна;&lt;br /&gt;
* Кнопка ''(...)'' - открыть лог из файла&lt;br /&gt;
* Флаг ''Autoscroll'' - при добавлении новой записи листает список в конец&lt;br /&gt;
&lt;br /&gt;
'''Фильтрация логов'''&lt;br /&gt;
* Фильтр задается для каждого поля отдельно;&lt;br /&gt;
* Можно фильтровать по нескольким полям одновременно;&lt;br /&gt;
* Для фильтрации по какому-либо полю просто нажмите на его заглавие (Level / Time / ...)&lt;br /&gt;
* '''Как правильно задавать фильтр''':&lt;br /&gt;
** ''[value]'' - поиск по полному совпадению - будут показаны только записи, текст которых в данном поле '''равен''' ''[value]''&lt;br /&gt;
**: [[Файл:SE debug log1.jpg]]&lt;br /&gt;
** ''[value]*'' - поиск по началу строки - будут показаны только те записи, текст которых в данном поле '''начинается с''' ''[value]''&lt;br /&gt;
**: [[Файл:SE debug log2.jpg]]&lt;br /&gt;
** ''*[value]'' - поиск по окончанию строки - будут показаны только те записи, текст которых в данном поле '''заканчивается на''' ''[value]''&lt;br /&gt;
**: [[Файл:SE debug log3.jpg]]&lt;br /&gt;
** ''*[value]*'' - поиск по вхождению - будут показаны только те записи, текст которых в данном поле '''содержит''' текст ''[value]''&lt;br /&gt;
**: [[Файл:SE debug log4.jpg]]&lt;br /&gt;
** ''![filter]'' - исключение - при добавлении знака '''!''' перед фильтром (любой его вариацией), будут показаны все записи, текст которых в данном поле '''НЕ''' подходит под фильтр.&lt;br /&gt;
**: [[Файл:SE debug log5.jpg]]&lt;br /&gt;
** ''[filter1]&amp;amp;[filter2]&amp;amp;[...]'' - фильтрация по нескольким критериям - будут показаны все записи, текст которых '''подходит хотя бы под один из фильтров'''&lt;br /&gt;
**: [[Файл:SE debug log6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debug Options ====&lt;br /&gt;
&lt;br /&gt;
Окно ''Debug options'' предназначено для отслеживания изменений опций в реальном времени.&lt;br /&gt;
&lt;br /&gt;
[[Файл:SE debug6.JPG]]&lt;br /&gt;
&lt;br /&gt;
* Кнопка '''Refresh''' - подгружает опции из файла options.xml&lt;br /&gt;
* ''Options update'':&lt;br /&gt;
** '''Manual update''' - обновление опций '''ТОЛЬКО''' в ручном режиме (кнопкой '''Refresh''')&lt;br /&gt;
** '''Auto Update''' - обновление опций вьювером - все записи, что меняет в опциях вьювер, будут обновлены (так же всё еще можно обновить вручную)&lt;br /&gt;
** '''Timer Update''' - обновление опций по таймеру - раз в заданный период автоматически обновляет опции из файла options.xml (команды вьювера игнорируются, все изменения берутся только из файла)&lt;br /&gt;
* Кнопка '''Save options''' - создает локальную копию текущего файла с опциями (в том же каталоге, где лежит options.xml)&lt;br /&gt;
* Кнопка '''Open options filder''' - открывает папку с опциями.&lt;br /&gt;
&lt;br /&gt;
* '''All options''' - отображает все опции в виде дерева, показывает текущее значение параметров и предыдущее (если было изменено)&lt;br /&gt;
* '''Custom params''' - позволяет отслеживать изменений конкретных параметров; в поле ''Custom param tracking'' указывается тот же путь к параметру, что и в машинках:&lt;br /&gt;
*: [[Файл:SE debug7.JPG]]&lt;br /&gt;
&lt;br /&gt;
=Горячие клавиши=&lt;br /&gt;
* '''Клавиша F10''' - По нажатию разворачивает/сворачивает все объекты и подобъекты в дереве проекта или в свойствах объекта.&lt;br /&gt;
* '''Клавиша Num* и Num-''' - По нажатию разворачивают/сворачивают подобъекты у выделенного объекта в дереве проекта или в свойствах объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:AppSalute]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Export_formats.png&amp;diff=9755</id>
		<title>Файл:Export formats.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Export_formats.png&amp;diff=9755"/>
		<updated>2018-12-05T08:46:23Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: Export_formats&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Export_formats&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9743</id>
		<title>App.icf</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9743"/>
		<updated>2018-11-23T10:39:45Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* [Advertisement] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[S3E]==&lt;br /&gt;
&lt;br /&gt;
'''WinWidth'''=960 - Ширина окна&lt;br /&gt;
&lt;br /&gt;
'''WinHeight'''=640 - Высота окна&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''=&amp;quot;Landscape&amp;quot; - ориентация приложения (Free/Landscape/Portrait/FixedLandscape/FixedPortrait)&lt;br /&gt;
&lt;br /&gt;
'''MemSize'''=32000000 - Размер &amp;quot;кучи&amp;quot; для основного приложения в байтах. По-умолчанию 3Mб. '''MemSize''' должен быть больше чем  '''MB_GRAFICS'''&lt;br /&gt;
&lt;br /&gt;
'''MemSize1'''=15000000 - Размер &amp;quot;кучи&amp;quot; для звуков приложения в байтах. По-умолчанию 0Mб.&lt;br /&gt;
&lt;br /&gt;
'''SysStackSize'''=65536&lt;br /&gt;
&lt;br /&gt;
'''MemSizeDebug'''=200000000&lt;br /&gt;
&lt;br /&gt;
'''WindowAllowResize'''=1 - Разрешить изменение размера окна&lt;br /&gt;
&lt;br /&gt;
'''WinResizable'''=1  - 0 или 1. На устройствах с оконным менеджером даёт возможность изменять размеры окна.&lt;br /&gt;
&lt;br /&gt;
'''SoundOutputFreq'''=44100 - Частота звука&lt;br /&gt;
&lt;br /&gt;
''Параметры для вьювера из-под редактора:''&lt;br /&gt;
&lt;br /&gt;
'''WinTitle'''=&amp;quot;Viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''SysAppVersion'''=0.0.1&lt;br /&gt;
&lt;br /&gt;
'''SysAppCaption'''=&amp;quot;viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GxFont]==&lt;br /&gt;
&lt;br /&gt;
'''CacheTextureMaxSize=1024''' - кэш для текстовой текстуры&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Default]==&lt;br /&gt;
&lt;br /&gt;
'''save'''=&amp;quot;0&amp;quot; - сохранять экран на котором были перед выходом из приложения. необходимо для книжек(1), для пазлов и прочего отключить(0). Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
'''cut'''=&amp;quot;0&amp;quot; - обрезать изображение по размеру layout-а. В случае если предполагается что отмасштабированое изображение будет мало по отношению к окну(окно больше, а картинка меньше) ставим &amp;quot;0&amp;quot; и изображение не будет обрезано а будет выходить за рамки окна. Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Fonts]==&lt;br /&gt;
&lt;br /&gt;
'''font_1'''=&amp;quot;1_arial_16&amp;quot; - шрифт и его номер который используется&lt;br /&gt;
&lt;br /&gt;
'''size_1=16''' - размер шрифта для формирования текстуры (чем больше значение, тем меньше знаков поместятся на текстуре. Необходимо будет увеличивать значение CacheTextureMaxSize=1024 что приведет к излишнему использованию памяти)&lt;br /&gt;
&lt;br /&gt;
'''chars_1=256''' - Число знаков помещенных в кеш для отрисовки в единицу времени на экране. Иначе говоря - максимальное количество разных знаков, которое может отображаться на отдельных экранах.&lt;br /&gt;
&lt;br /&gt;
'''koef_6=1''' - масштаб шрифта&lt;br /&gt;
&lt;br /&gt;
'''koef_6_de=1.3''' - масштаб шрифта для определённого языка&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Game]==&lt;br /&gt;
&lt;br /&gt;
'''Market'''=&amp;quot;amazon&amp;quot; - задаёт какие будут использованы инапы, если они есть, и ссылки в текстовой базе. возможны варианты: samsung, amazon, ios, wildtangent, android, blackberry, fortumo,  google, mac, windows, phone8&lt;br /&gt;
&lt;br /&gt;
'''debug=&amp;quot;Absolutist-2253&amp;quot;''' - режим отладки, если ненужен, или для выгрузки в магазин - удалить.&lt;br /&gt;
&lt;br /&gt;
'''show_build_date=1''' - показывать дату билда вьювера&lt;br /&gt;
&lt;br /&gt;
'''mouseOver''' - 1 send mouse over events to viewer (for PC projects) 0 - don't send (for Mobile projects)&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''='''&amp;quot;Landscape&amp;quot;''' програмная ориентация приложения. Не путать с параметром в [S3E]&lt;br /&gt;
&lt;br /&gt;
'''alignType'''=1 позиционирование объектов, если указано в объекте. 1 - по логическому экрану, 0 - по физическому. 1 - по умолчанию.&lt;br /&gt;
&lt;br /&gt;
'''allow_background'''=1 - не ставить вьювер на паузу при потере фокуса.&lt;br /&gt;
&lt;br /&gt;
'''purchaseEverything''=1 - совершать эмуляцию покупки (для тестирования покупок из-под редактора).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GameTrace]==&lt;br /&gt;
&lt;br /&gt;
'''flurry=1''' - заносить в логи активность flurry&lt;br /&gt;
&lt;br /&gt;
'''memorymanager=1''' - заносить в логи количество памяти затраченной приложением&lt;br /&gt;
&lt;br /&gt;
'''Level'''=&amp;quot;Verbose&amp;quot; - уровень записи в лог. Verbose - самый детальный, используется по умолчанию (Verbose/Info/Warnings/Errors). Info - в лог попадает только информация (Info,Warnings,Errors). Warnings - в лог пишутся только предупреждения и ошибки (Warnings,Errors). Errors - в лог пишутся только ошибки (Errors).&lt;br /&gt;
&lt;br /&gt;
'''All'''=0 - 0-выключены все логи от объектов кроме тех, у которых стоит параметр 1 (см. ниже). 1 - логи от объектов включены, кроме тех у которых параметр 0 (см. ниже)&lt;br /&gt;
&lt;br /&gt;
'''GMachine'''=1 - 1 логи от объекта включены, 0 - выключены &lt;br /&gt;
&lt;br /&gt;
'''GESocial'''=0 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GameMemory]==&lt;br /&gt;
&lt;br /&gt;
'''MB_GRAFICS=18000000''' - размер буфера для загрузки изображений. Сначала изображение помещается в этот буфер, потом из него в видеопамять. По умолчанию - 9 мб. Память для буфера входит в '''MemSize''' - тоесть для объектов выделяется объём памяти равный '''MemSize''' - '''MB_GRAFICS'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[s3eAndroidAppirater]==&lt;br /&gt;
&lt;br /&gt;
'''title=&amp;quot;App name&amp;quot;''' - название приложения&lt;br /&gt;
&lt;br /&gt;
'''app_name=&amp;quot;market://id?=com.your_company.application&amp;quot;''' - package id приложения&lt;br /&gt;
&lt;br /&gt;
'''days=0'''&lt;br /&gt;
&lt;br /&gt;
'''launches=0'''&lt;br /&gt;
&lt;br /&gt;
'''events=0'''&lt;br /&gt;
&lt;br /&gt;
'''need_email_button=1''' - нужна ли кнопка &amp;quot;отправить письмо&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''email_addr=&amp;quot;user@yourcompany.com&amp;quot;''' - email на который будет отправлено письмо&lt;br /&gt;
&lt;br /&gt;
'''email_subj=&amp;quot;Subject of email&amp;quot;''' - тема письма&lt;br /&gt;
&lt;br /&gt;
'''email_text=&amp;quot;Hello!&amp;quot;''' - текст письма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Parameters]==&lt;br /&gt;
Добавляет в options параметр и значение при запуске приложения. Параметры этой секции будут установлены в опции; нумерация должна быть последовательной от 1 до бесконечности&lt;br /&gt;
&lt;br /&gt;
'''param1_name=&amp;quot;param1.param&amp;quot;''' - имя параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_value=&amp;quot;12&amp;quot;''' - значение параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_overwrite=&amp;quot;0&amp;quot;''' - перезаписывать параметр, если был ранее 1 - по умолчанию. 1 - перезаписывать, 0 - неперезаписывать&lt;br /&gt;
&lt;br /&gt;
'''param2_name=&amp;quot;param2&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''param2_value=&amp;quot;13&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GHiddenList]==&lt;br /&gt;
&lt;br /&gt;
'''HitTest''' - мода автотеста; (0- выкл.; 1 - разовая логика, пишется в файл раз в сессию для одного хидден листа ; 2 - при каждом init любого хидн листа дописывается статистика в файл);&lt;br /&gt;
&lt;br /&gt;
'''HitTestDx''' = 5 - шаг с которым проходит автокликер по X;&lt;br /&gt;
&lt;br /&gt;
'''HitTestDy''' = 5 - шаг с которым проходит автокликер по Y.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Splash]==&lt;br /&gt;
&lt;br /&gt;
'''inscribe''' - вписывать видео сплэшскрина в текущий экран; (1 - вписывать);&lt;br /&gt;
&lt;br /&gt;
Видео должно называться Splash.ogv и находиться рядом с вьювером&lt;br /&gt;
&lt;br /&gt;
==[Advertisement]==&lt;br /&gt;
'''OfflineMode''' - включить оффлайн режим, при котором конфиг рекламы не будет качаться с сервера (будет браться из кеша); Если в кеше нет конфига - реклама работать не будет.&lt;br /&gt;
&lt;br /&gt;
'''DebugMode''' - включить отладочный режим при котором загружается дебажный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
&lt;br /&gt;
'''ReleaseMode''' - включить релизный режим при котором загружается релизный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
&lt;br /&gt;
(если установлены оба последних параметра, выбирается отладочный режим)&lt;br /&gt;
&lt;br /&gt;
==[DynamicConfig]==&lt;br /&gt;
'''offline''' -  включить оффлайн режим использования динамического конфига (конфиг при помощи которого можно патчить приложение - пока используется только в H365 и HiddenBattle); при включённом режиме конфиг будет браться локально (из кеша), если имеется в наличии. &lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9742</id>
		<title>App.icf</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9742"/>
		<updated>2018-11-23T10:39:28Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* [Advertisement] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[S3E]==&lt;br /&gt;
&lt;br /&gt;
'''WinWidth'''=960 - Ширина окна&lt;br /&gt;
&lt;br /&gt;
'''WinHeight'''=640 - Высота окна&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''=&amp;quot;Landscape&amp;quot; - ориентация приложения (Free/Landscape/Portrait/FixedLandscape/FixedPortrait)&lt;br /&gt;
&lt;br /&gt;
'''MemSize'''=32000000 - Размер &amp;quot;кучи&amp;quot; для основного приложения в байтах. По-умолчанию 3Mб. '''MemSize''' должен быть больше чем  '''MB_GRAFICS'''&lt;br /&gt;
&lt;br /&gt;
'''MemSize1'''=15000000 - Размер &amp;quot;кучи&amp;quot; для звуков приложения в байтах. По-умолчанию 0Mб.&lt;br /&gt;
&lt;br /&gt;
'''SysStackSize'''=65536&lt;br /&gt;
&lt;br /&gt;
'''MemSizeDebug'''=200000000&lt;br /&gt;
&lt;br /&gt;
'''WindowAllowResize'''=1 - Разрешить изменение размера окна&lt;br /&gt;
&lt;br /&gt;
'''WinResizable'''=1  - 0 или 1. На устройствах с оконным менеджером даёт возможность изменять размеры окна.&lt;br /&gt;
&lt;br /&gt;
'''SoundOutputFreq'''=44100 - Частота звука&lt;br /&gt;
&lt;br /&gt;
''Параметры для вьювера из-под редактора:''&lt;br /&gt;
&lt;br /&gt;
'''WinTitle'''=&amp;quot;Viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''SysAppVersion'''=0.0.1&lt;br /&gt;
&lt;br /&gt;
'''SysAppCaption'''=&amp;quot;viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GxFont]==&lt;br /&gt;
&lt;br /&gt;
'''CacheTextureMaxSize=1024''' - кэш для текстовой текстуры&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Default]==&lt;br /&gt;
&lt;br /&gt;
'''save'''=&amp;quot;0&amp;quot; - сохранять экран на котором были перед выходом из приложения. необходимо для книжек(1), для пазлов и прочего отключить(0). Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
'''cut'''=&amp;quot;0&amp;quot; - обрезать изображение по размеру layout-а. В случае если предполагается что отмасштабированое изображение будет мало по отношению к окну(окно больше, а картинка меньше) ставим &amp;quot;0&amp;quot; и изображение не будет обрезано а будет выходить за рамки окна. Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Fonts]==&lt;br /&gt;
&lt;br /&gt;
'''font_1'''=&amp;quot;1_arial_16&amp;quot; - шрифт и его номер который используется&lt;br /&gt;
&lt;br /&gt;
'''size_1=16''' - размер шрифта для формирования текстуры (чем больше значение, тем меньше знаков поместятся на текстуре. Необходимо будет увеличивать значение CacheTextureMaxSize=1024 что приведет к излишнему использованию памяти)&lt;br /&gt;
&lt;br /&gt;
'''chars_1=256''' - Число знаков помещенных в кеш для отрисовки в единицу времени на экране. Иначе говоря - максимальное количество разных знаков, которое может отображаться на отдельных экранах.&lt;br /&gt;
&lt;br /&gt;
'''koef_6=1''' - масштаб шрифта&lt;br /&gt;
&lt;br /&gt;
'''koef_6_de=1.3''' - масштаб шрифта для определённого языка&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Game]==&lt;br /&gt;
&lt;br /&gt;
'''Market'''=&amp;quot;amazon&amp;quot; - задаёт какие будут использованы инапы, если они есть, и ссылки в текстовой базе. возможны варианты: samsung, amazon, ios, wildtangent, android, blackberry, fortumo,  google, mac, windows, phone8&lt;br /&gt;
&lt;br /&gt;
'''debug=&amp;quot;Absolutist-2253&amp;quot;''' - режим отладки, если ненужен, или для выгрузки в магазин - удалить.&lt;br /&gt;
&lt;br /&gt;
'''show_build_date=1''' - показывать дату билда вьювера&lt;br /&gt;
&lt;br /&gt;
'''mouseOver''' - 1 send mouse over events to viewer (for PC projects) 0 - don't send (for Mobile projects)&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''='''&amp;quot;Landscape&amp;quot;''' програмная ориентация приложения. Не путать с параметром в [S3E]&lt;br /&gt;
&lt;br /&gt;
'''alignType'''=1 позиционирование объектов, если указано в объекте. 1 - по логическому экрану, 0 - по физическому. 1 - по умолчанию.&lt;br /&gt;
&lt;br /&gt;
'''allow_background'''=1 - не ставить вьювер на паузу при потере фокуса.&lt;br /&gt;
&lt;br /&gt;
'''purchaseEverything''=1 - совершать эмуляцию покупки (для тестирования покупок из-под редактора).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GameTrace]==&lt;br /&gt;
&lt;br /&gt;
'''flurry=1''' - заносить в логи активность flurry&lt;br /&gt;
&lt;br /&gt;
'''memorymanager=1''' - заносить в логи количество памяти затраченной приложением&lt;br /&gt;
&lt;br /&gt;
'''Level'''=&amp;quot;Verbose&amp;quot; - уровень записи в лог. Verbose - самый детальный, используется по умолчанию (Verbose/Info/Warnings/Errors). Info - в лог попадает только информация (Info,Warnings,Errors). Warnings - в лог пишутся только предупреждения и ошибки (Warnings,Errors). Errors - в лог пишутся только ошибки (Errors).&lt;br /&gt;
&lt;br /&gt;
'''All'''=0 - 0-выключены все логи от объектов кроме тех, у которых стоит параметр 1 (см. ниже). 1 - логи от объектов включены, кроме тех у которых параметр 0 (см. ниже)&lt;br /&gt;
&lt;br /&gt;
'''GMachine'''=1 - 1 логи от объекта включены, 0 - выключены &lt;br /&gt;
&lt;br /&gt;
'''GESocial'''=0 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GameMemory]==&lt;br /&gt;
&lt;br /&gt;
'''MB_GRAFICS=18000000''' - размер буфера для загрузки изображений. Сначала изображение помещается в этот буфер, потом из него в видеопамять. По умолчанию - 9 мб. Память для буфера входит в '''MemSize''' - тоесть для объектов выделяется объём памяти равный '''MemSize''' - '''MB_GRAFICS'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[s3eAndroidAppirater]==&lt;br /&gt;
&lt;br /&gt;
'''title=&amp;quot;App name&amp;quot;''' - название приложения&lt;br /&gt;
&lt;br /&gt;
'''app_name=&amp;quot;market://id?=com.your_company.application&amp;quot;''' - package id приложения&lt;br /&gt;
&lt;br /&gt;
'''days=0'''&lt;br /&gt;
&lt;br /&gt;
'''launches=0'''&lt;br /&gt;
&lt;br /&gt;
'''events=0'''&lt;br /&gt;
&lt;br /&gt;
'''need_email_button=1''' - нужна ли кнопка &amp;quot;отправить письмо&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''email_addr=&amp;quot;user@yourcompany.com&amp;quot;''' - email на который будет отправлено письмо&lt;br /&gt;
&lt;br /&gt;
'''email_subj=&amp;quot;Subject of email&amp;quot;''' - тема письма&lt;br /&gt;
&lt;br /&gt;
'''email_text=&amp;quot;Hello!&amp;quot;''' - текст письма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Parameters]==&lt;br /&gt;
Добавляет в options параметр и значение при запуске приложения. Параметры этой секции будут установлены в опции; нумерация должна быть последовательной от 1 до бесконечности&lt;br /&gt;
&lt;br /&gt;
'''param1_name=&amp;quot;param1.param&amp;quot;''' - имя параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_value=&amp;quot;12&amp;quot;''' - значение параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_overwrite=&amp;quot;0&amp;quot;''' - перезаписывать параметр, если был ранее 1 - по умолчанию. 1 - перезаписывать, 0 - неперезаписывать&lt;br /&gt;
&lt;br /&gt;
'''param2_name=&amp;quot;param2&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''param2_value=&amp;quot;13&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GHiddenList]==&lt;br /&gt;
&lt;br /&gt;
'''HitTest''' - мода автотеста; (0- выкл.; 1 - разовая логика, пишется в файл раз в сессию для одного хидден листа ; 2 - при каждом init любого хидн листа дописывается статистика в файл);&lt;br /&gt;
&lt;br /&gt;
'''HitTestDx''' = 5 - шаг с которым проходит автокликер по X;&lt;br /&gt;
&lt;br /&gt;
'''HitTestDy''' = 5 - шаг с которым проходит автокликер по Y.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Splash]==&lt;br /&gt;
&lt;br /&gt;
'''inscribe''' - вписывать видео сплэшскрина в текущий экран; (1 - вписывать);&lt;br /&gt;
&lt;br /&gt;
Видео должно называться Splash.ogv и находиться рядом с вьювером&lt;br /&gt;
&lt;br /&gt;
==[Advertisement]==&lt;br /&gt;
'''OfflineMode''' - включить оффлайн режим, при котором конфиг рекламы не будет качаться с сервера (будет браться из кеша); Если в кеше нет конфига - реклама работать не будет.&lt;br /&gt;
&lt;br /&gt;
'''DebugMode''' - включить отладочный режим при котором загружается дебажный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
&lt;br /&gt;
'''ReleaseMode''' - включить релизный режим при котором загружается релизный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
&lt;br /&gt;
#если установлены оба последних параметра, выбирается отладочный режим&lt;br /&gt;
&lt;br /&gt;
==[DynamicConfig]==&lt;br /&gt;
'''offline''' -  включить оффлайн режим использования динамического конфига (конфиг при помощи которого можно патчить приложение - пока используется только в H365 и HiddenBattle); при включённом режиме конфиг будет браться локально (из кеша), если имеется в наличии. &lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9741</id>
		<title>App.icf</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=App.icf&amp;diff=9741"/>
		<updated>2018-11-23T10:39:15Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* [Advertisement] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[S3E]==&lt;br /&gt;
&lt;br /&gt;
'''WinWidth'''=960 - Ширина окна&lt;br /&gt;
&lt;br /&gt;
'''WinHeight'''=640 - Высота окна&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''=&amp;quot;Landscape&amp;quot; - ориентация приложения (Free/Landscape/Portrait/FixedLandscape/FixedPortrait)&lt;br /&gt;
&lt;br /&gt;
'''MemSize'''=32000000 - Размер &amp;quot;кучи&amp;quot; для основного приложения в байтах. По-умолчанию 3Mб. '''MemSize''' должен быть больше чем  '''MB_GRAFICS'''&lt;br /&gt;
&lt;br /&gt;
'''MemSize1'''=15000000 - Размер &amp;quot;кучи&amp;quot; для звуков приложения в байтах. По-умолчанию 0Mб.&lt;br /&gt;
&lt;br /&gt;
'''SysStackSize'''=65536&lt;br /&gt;
&lt;br /&gt;
'''MemSizeDebug'''=200000000&lt;br /&gt;
&lt;br /&gt;
'''WindowAllowResize'''=1 - Разрешить изменение размера окна&lt;br /&gt;
&lt;br /&gt;
'''WinResizable'''=1  - 0 или 1. На устройствах с оконным менеджером даёт возможность изменять размеры окна.&lt;br /&gt;
&lt;br /&gt;
'''SoundOutputFreq'''=44100 - Частота звука&lt;br /&gt;
&lt;br /&gt;
''Параметры для вьювера из-под редактора:''&lt;br /&gt;
&lt;br /&gt;
'''WinTitle'''=&amp;quot;Viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''SysAppVersion'''=0.0.1&lt;br /&gt;
&lt;br /&gt;
'''SysAppCaption'''=&amp;quot;viewer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GxFont]==&lt;br /&gt;
&lt;br /&gt;
'''CacheTextureMaxSize=1024''' - кэш для текстовой текстуры&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Default]==&lt;br /&gt;
&lt;br /&gt;
'''save'''=&amp;quot;0&amp;quot; - сохранять экран на котором были перед выходом из приложения. необходимо для книжек(1), для пазлов и прочего отключить(0). Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
'''cut'''=&amp;quot;0&amp;quot; - обрезать изображение по размеру layout-а. В случае если предполагается что отмасштабированое изображение будет мало по отношению к окну(окно больше, а картинка меньше) ставим &amp;quot;0&amp;quot; и изображение не будет обрезано а будет выходить за рамки окна. Может быть вынесено в viewer.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Fonts]==&lt;br /&gt;
&lt;br /&gt;
'''font_1'''=&amp;quot;1_arial_16&amp;quot; - шрифт и его номер который используется&lt;br /&gt;
&lt;br /&gt;
'''size_1=16''' - размер шрифта для формирования текстуры (чем больше значение, тем меньше знаков поместятся на текстуре. Необходимо будет увеличивать значение CacheTextureMaxSize=1024 что приведет к излишнему использованию памяти)&lt;br /&gt;
&lt;br /&gt;
'''chars_1=256''' - Число знаков помещенных в кеш для отрисовки в единицу времени на экране. Иначе говоря - максимальное количество разных знаков, которое может отображаться на отдельных экранах.&lt;br /&gt;
&lt;br /&gt;
'''koef_6=1''' - масштаб шрифта&lt;br /&gt;
&lt;br /&gt;
'''koef_6_de=1.3''' - масштаб шрифта для определённого языка&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Game]==&lt;br /&gt;
&lt;br /&gt;
'''Market'''=&amp;quot;amazon&amp;quot; - задаёт какие будут использованы инапы, если они есть, и ссылки в текстовой базе. возможны варианты: samsung, amazon, ios, wildtangent, android, blackberry, fortumo,  google, mac, windows, phone8&lt;br /&gt;
&lt;br /&gt;
'''debug=&amp;quot;Absolutist-2253&amp;quot;''' - режим отладки, если ненужен, или для выгрузки в магазин - удалить.&lt;br /&gt;
&lt;br /&gt;
'''show_build_date=1''' - показывать дату билда вьювера&lt;br /&gt;
&lt;br /&gt;
'''mouseOver''' - 1 send mouse over events to viewer (for PC projects) 0 - don't send (for Mobile projects)&lt;br /&gt;
&lt;br /&gt;
'''DispFixRot'''='''&amp;quot;Landscape&amp;quot;''' програмная ориентация приложения. Не путать с параметром в [S3E]&lt;br /&gt;
&lt;br /&gt;
'''alignType'''=1 позиционирование объектов, если указано в объекте. 1 - по логическому экрану, 0 - по физическому. 1 - по умолчанию.&lt;br /&gt;
&lt;br /&gt;
'''allow_background'''=1 - не ставить вьювер на паузу при потере фокуса.&lt;br /&gt;
&lt;br /&gt;
'''purchaseEverything''=1 - совершать эмуляцию покупки (для тестирования покупок из-под редактора).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GameTrace]==&lt;br /&gt;
&lt;br /&gt;
'''flurry=1''' - заносить в логи активность flurry&lt;br /&gt;
&lt;br /&gt;
'''memorymanager=1''' - заносить в логи количество памяти затраченной приложением&lt;br /&gt;
&lt;br /&gt;
'''Level'''=&amp;quot;Verbose&amp;quot; - уровень записи в лог. Verbose - самый детальный, используется по умолчанию (Verbose/Info/Warnings/Errors). Info - в лог попадает только информация (Info,Warnings,Errors). Warnings - в лог пишутся только предупреждения и ошибки (Warnings,Errors). Errors - в лог пишутся только ошибки (Errors).&lt;br /&gt;
&lt;br /&gt;
'''All'''=0 - 0-выключены все логи от объектов кроме тех, у которых стоит параметр 1 (см. ниже). 1 - логи от объектов включены, кроме тех у которых параметр 0 (см. ниже)&lt;br /&gt;
&lt;br /&gt;
'''GMachine'''=1 - 1 логи от объекта включены, 0 - выключены &lt;br /&gt;
&lt;br /&gt;
'''GESocial'''=0 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GameMemory]==&lt;br /&gt;
&lt;br /&gt;
'''MB_GRAFICS=18000000''' - размер буфера для загрузки изображений. Сначала изображение помещается в этот буфер, потом из него в видеопамять. По умолчанию - 9 мб. Память для буфера входит в '''MemSize''' - тоесть для объектов выделяется объём памяти равный '''MemSize''' - '''MB_GRAFICS'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[s3eAndroidAppirater]==&lt;br /&gt;
&lt;br /&gt;
'''title=&amp;quot;App name&amp;quot;''' - название приложения&lt;br /&gt;
&lt;br /&gt;
'''app_name=&amp;quot;market://id?=com.your_company.application&amp;quot;''' - package id приложения&lt;br /&gt;
&lt;br /&gt;
'''days=0'''&lt;br /&gt;
&lt;br /&gt;
'''launches=0'''&lt;br /&gt;
&lt;br /&gt;
'''events=0'''&lt;br /&gt;
&lt;br /&gt;
'''need_email_button=1''' - нужна ли кнопка &amp;quot;отправить письмо&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''email_addr=&amp;quot;user@yourcompany.com&amp;quot;''' - email на который будет отправлено письмо&lt;br /&gt;
&lt;br /&gt;
'''email_subj=&amp;quot;Subject of email&amp;quot;''' - тема письма&lt;br /&gt;
&lt;br /&gt;
'''email_text=&amp;quot;Hello!&amp;quot;''' - текст письма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Parameters]==&lt;br /&gt;
Добавляет в options параметр и значение при запуске приложения. Параметры этой секции будут установлены в опции; нумерация должна быть последовательной от 1 до бесконечности&lt;br /&gt;
&lt;br /&gt;
'''param1_name=&amp;quot;param1.param&amp;quot;''' - имя параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_value=&amp;quot;12&amp;quot;''' - значение параметра&lt;br /&gt;
&lt;br /&gt;
'''param1_overwrite=&amp;quot;0&amp;quot;''' - перезаписывать параметр, если был ранее 1 - по умолчанию. 1 - перезаписывать, 0 - неперезаписывать&lt;br /&gt;
&lt;br /&gt;
'''param2_name=&amp;quot;param2&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''param2_value=&amp;quot;13&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[GHiddenList]==&lt;br /&gt;
&lt;br /&gt;
'''HitTest''' - мода автотеста; (0- выкл.; 1 - разовая логика, пишется в файл раз в сессию для одного хидден листа ; 2 - при каждом init любого хидн листа дописывается статистика в файл);&lt;br /&gt;
&lt;br /&gt;
'''HitTestDx''' = 5 - шаг с которым проходит автокликер по X;&lt;br /&gt;
&lt;br /&gt;
'''HitTestDy''' = 5 - шаг с которым проходит автокликер по Y.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[Splash]==&lt;br /&gt;
&lt;br /&gt;
'''inscribe''' - вписывать видео сплэшскрина в текущий экран; (1 - вписывать);&lt;br /&gt;
&lt;br /&gt;
Видео должно называться Splash.ogv и находиться рядом с вьювером&lt;br /&gt;
&lt;br /&gt;
==[Advertisement]==&lt;br /&gt;
'''OfflineMode''' - включить оффлайн режим, при котором конфиг рекламы не будет качаться с сервера (будет браться из кеша); Если в кеше нет конфига - реклама работать не будет.&lt;br /&gt;
'''DebugMode''' - включить отладочный режим при котором загружается дебажный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
'''ReleaseMode''' - включить релизный режим при котором загружается релизный конфиг с серврера независимо от того с какого адреса идет запрос&lt;br /&gt;
#если установлены оба последних параметра, выбирается отладочный режим&lt;br /&gt;
&lt;br /&gt;
==[DynamicConfig]==&lt;br /&gt;
'''offline''' -  включить оффлайн режим использования динамического конфига (конфиг при помощи которого можно патчить приложение - пока используется только в H365 и HiddenBattle); при включённом режиме конфиг будет браться локально (из кеша), если имеется в наличии. &lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Advertisement&amp;diff=9710</id>
		<title>Advertisement</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Advertisement&amp;diff=9710"/>
		<updated>2018-10-02T13:43:01Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Коды ошибок */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Object|Объект]] '''Advertisement''' позволяет отображать рекламу разных типов. Объект должен находиться на экране, на котором необходимо показать рекламу, либо на глобальном экране. Данный объект предназначен для соблюдения условий запуска рекламы. Огромный плюс, что большинство настроек, могут задавать удалённо маркетологи.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Параметры==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''синхронизация''' - не синхронизировать=0, синхронизировать=1;&lt;br /&gt;
&lt;br /&gt;
*'''сохранение параметров''' - нет=0, только объект=1, объект с подобъектами=2, только подобъекты=3;&lt;br /&gt;
&lt;br /&gt;
*'''placement''' - Идентификатор места показа рекламы в игре.&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;
*'''объект''' - Объект, состояние которого нужно изменить; '''!!! Объект должен находиться выше по дереву, чтобы успеть проинициализироваться до готовности рекламы !!!'''&lt;br /&gt;
&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.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;
*'''объект''' - Объект, состояние которого нужно изменить;&lt;br /&gt;
&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
*'''show''' - показать рекламу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Коды ошибок==&lt;br /&gt;
&lt;br /&gt;
*'''0''' - ''AD_ERROR_NONE           = 0'' - все хорошо, ошибок нет;&lt;br /&gt;
*'''1''' - ''AD_ERROR_SKIP           = 1'' - показывать нечего (нет ни одного активного провайдера рекламы, нужно спрятать кнопки показа, пользовательские окна при этой ошибке показывать не нужно!!!);&lt;br /&gt;
*'''2''' - ''AD_ERROR_INTERNET       = 2'' - ошибка отсутствия интернета;&lt;br /&gt;
*'''3''' - ''AD_ERROR_NOT_FOUND      = 3'' - запрос на показ рекламы был отправлен, но реклама по данному запросу отсутствует;&lt;br /&gt;
*'''4''' - ''AD_ERROR_CANCELED       = 4'' - показ рекламы был отменен пользователем.&lt;br /&gt;
*'''5''' - ''AD_ERROR_UNKNOWN       = 5'' - неизвестная ошибка.&lt;br /&gt;
&lt;br /&gt;
Для обработки ошибок использовать [[Errormanager|ErrorManager]].&lt;br /&gt;
&lt;br /&gt;
==Симулятор==&lt;br /&gt;
&lt;br /&gt;
Для работы симулятора рекламы на редакторном вьювере необходимо добавить в app.icf параметры:&lt;br /&gt;
&lt;br /&gt;
  [Game]&lt;br /&gt;
  bundle=&amp;quot;%id_game&amp;quot;&lt;br /&gt;
  [Game]&lt;br /&gt;
  VersionMain=%m&lt;br /&gt;
  VersionGraphic=%g&lt;br /&gt;
  VersionLogic=%l&lt;br /&gt;
&lt;br /&gt;
где:&lt;br /&gt;
%id_game - бандл игры, соответствующий файлу конфигурации рекламы,&lt;br /&gt;
%m, %g, %l - номер версии игры, соответствующий файлу конфигурации рекламы.&lt;br /&gt;
&lt;br /&gt;
При вызове состояния ''show'' объекту на экране появится черный прямоугольник с названием placement'а вызванной рекламы. Esc симулирует закрытие рекламы и вызов ''ошибки 4'' (показ рекламы отменен пользователем). Enter симулирует закрытие рекламы и вызов обработчика ''реклама успешно показана''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Options]]&lt;br /&gt;
[[Category:Реклама]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9597</id>
		<title>Partnersconsole</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9597"/>
		<updated>2018-06-26T08:43:43Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''partnersconsole''' -  объект обмена опциями с партнерами.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id объекта''' (id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя''' (name)   - Имя объекта в дереве проекта. Может быть произвольным.&lt;br /&gt;
*'''отображать сразу игровое окно игры или показывать сначала окно лидербордов партнера''' (leaderboards_hide)   - Не показывать окно лидербордов партнера (по умолчанию 0).&lt;br /&gt;
&lt;br /&gt;
=== Состояния ===&lt;br /&gt;
*'''start''' -  Это состояние нужно вызывать в начале уровня.&lt;br /&gt;
*'''game_over''' -  Это состояние нужно вызывать в конце уровня. В уровневой игре перед отправкой нужно записать параметр '''levelnum''', равный номеру пройденного уровня.&lt;br /&gt;
*'''post_highscore''' -  Состояние для отправки нового рекорда. Рекорд предварительно нужно записать в параметр '''highscore''' объекта. Вызывается при получении рекорда.&lt;br /&gt;
*'''get_options''' -  Состояние для получения опций. Вызывается обычно при старте игры. При получении опций происходит автоматическая перезагрузка лейаута. Срабатывает только 1 раз, дополнительные проверки не требуются.&lt;br /&gt;
*'''send_options''' -  Состояние для отправки опций. Вызывается обычно в конце уровня.&lt;br /&gt;
&lt;br /&gt;
=== Добавляемые параметры ===&lt;br /&gt;
*'''Изменить состояние объекта - начало новой игры''' (game_event_play) -  Была нажата внешняя кнопка Play, необходим перезапуск игры.&lt;br /&gt;
*'''Изменить состояние объекта - показать окно завершения игры''' (game_event_show_menu) -  Нужно показать окно завершения игры.&lt;br /&gt;
*'''Изменить состояние объекта - скрыть окно завершения игры''' (game_event_hide_menu) -  Нужно закрыть окно завершения игры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9596</id>
		<title>Partnersconsole</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9596"/>
		<updated>2018-06-26T08:43:18Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''partnersconsole''' -  объект обмена опциями с партнерами.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id объекта''' (id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя''' (name)   - Имя объекта в дереве проекта. Может быть произвольным.&lt;br /&gt;
*'''отображать сразу игровое окно игры или показывать сначала окно лидербордов партнера''' (leaderboards_hide)   - Не показывать окно лидербордов партнера (по умолчанию 0).&lt;br /&gt;
&lt;br /&gt;
=== Состояния ===&lt;br /&gt;
*'''start''' -  Это состояние нужно вызывать в начале уровня.&lt;br /&gt;
*'''game_over''' -  Это состояние нужно вызывать в конце уровня. В уровневой игре перед отправкой нужно записать параметр levelnum, равный номеру пройденного уровня.&lt;br /&gt;
*'''post_highscore''' -  Состояние для отправки нового рекорда. Рекорд предварительно нужно записать в параметр highscore объекта. Вызывается при получении рекорда.&lt;br /&gt;
*'''get_options''' -  Состояние для получения опций. Вызывается обычно при старте игры. При получении опций происходит автоматическая перезагрузка лейаута. Срабатывает только 1 раз, дополнительные проверки не требуются.&lt;br /&gt;
*'''send_options''' -  Состояние для отправки опций. Вызывается обычно в конце уровня.&lt;br /&gt;
&lt;br /&gt;
=== Добавляемые параметры ===&lt;br /&gt;
*'''Изменить состояние объекта - начало новой игры''' (game_event_play) -  Была нажата внешняя кнопка Play, необходим перезапуск игры.&lt;br /&gt;
*'''Изменить состояние объекта - показать окно завершения игры''' (game_event_show_menu) -  Нужно показать окно завершения игры.&lt;br /&gt;
*'''Изменить состояние объекта - скрыть окно завершения игры''' (game_event_hide_menu) -  Нужно закрыть окно завершения игры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9590</id>
		<title>Partnersconsole</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9590"/>
		<updated>2018-06-21T09:16:58Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''partnersconsole''' -  объект обмена опциями с партнерами.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id объекта''' (id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя''' (name)   - Имя объекта в дереве проекта. Может быть произвольным.&lt;br /&gt;
*'''отображать сразу игровое окно игры или показывать сначала окно лидербордов партнера''' (leaderboards_hide)   - Не показывать окно лидербордов партнера (по умолчанию 0).&lt;br /&gt;
&lt;br /&gt;
=== Состояния ===&lt;br /&gt;
*'''start''' -  Это состояние нужно вызывать в начале уровня.&lt;br /&gt;
*'''game_over''' -  Это состояние нужно вызывать в конце уровня.&lt;br /&gt;
*'''post_highscore''' -  Состояние для отправки нового рекорда. Рекорд предварительно нужно записать в параметр highscore объекта. Вызывается при получении рекорда.&lt;br /&gt;
*'''get_options''' -  Состояние для получения опций. Вызывается обычно при старте игры. При получении опций происходит автоматическая перезагрузка лейаута. Срабатывает только 1 раз, дополнительные проверки не требуются.&lt;br /&gt;
*'''send_options''' -  Состояние для отправки опций. Вызывается обычно в конце уровня.&lt;br /&gt;
&lt;br /&gt;
=== Добавляемые параметры ===&lt;br /&gt;
*'''Изменить состояние объекта - начало новой игры''' (game_event_play) -  Была нажата внешняя кнопка Play, необходим перезапуск игры.&lt;br /&gt;
*'''Изменить состояние объекта - показать окно завершения игры''' (game_event_show_menu) -  Нужно показать окно завершения игры.&lt;br /&gt;
*'''Изменить состояние объекта - скрыть окно завершения игры''' (game_event_hide_menu) -  Нужно закрыть окно завершения игры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9588</id>
		<title>Effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9588"/>
		<updated>2018-06-19T13:33:46Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Описание эффекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Effect   - [[Object|объект]] редактора, предназначенный для создания различных визуальных эффектов, которые визуализируется (проявляются) в зависимости от частоты кликов пользователя по заданной  области проявления  эффекта. &amp;lt;br&amp;gt;&lt;br /&gt;
Обьект  Effect расположен в Main objects&amp;lt;br&amp;gt;&lt;br /&gt;
'''Важное замечание!'''&amp;lt;br&amp;gt;&lt;br /&gt;
Эффект БЛЮР и ДЫМ не могут быть вызваны одним экземляром класса Effect&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Эффект БЛЮР=&lt;br /&gt;
Эффект блюр позволяет создавать дребезжание объекта. Например, раздвоение объекта.&lt;br /&gt;
==Механизм работы эффекта БЛЮР==&lt;br /&gt;
Ситуация:&lt;br /&gt;
Пользователю необходимо отключить звенящий будильник. Пользователь на экране видит дребезжащий будильник. По клику на будильник дребезжание будильника прекращается. &amp;lt;br&amp;gt;&lt;br /&gt;
Порядок действий:&amp;lt;br&amp;gt;&lt;br /&gt;
* На сцене размещаем машину состояний с графическим ресурсом будильника. Назовем ее  БУД. Обработка клика на машину состояний стандартная.&lt;br /&gt;
* На сцене размещаем объект Effect. Положение объекта Effect должно полностью совпадать с положением машины состояний БУД!&lt;br /&gt;
* Свойству Объект эффекта БЛЮР устанавливаем значение машину состояний БУД. Значения других свойств эффекта БЛЮР оставляем стандартными.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта Блюр==&lt;br /&gt;
===Свойства объекта Блюр===&lt;br /&gt;
*Объект (obj) - Объект, к которому будет применен эффект блюр.&lt;br /&gt;
*Продолжительность (tm) - продолжительность эффекта. По умолчанию 4000.&lt;br /&gt;
*Отклонение (dev)-. Чем больше отклонение, тем больше &amp;quot;отскакивает&amp;quot; в разные стороны от центра объекта По умолчанию 10. При задании значений больше 90 объект &amp;quot;скачет&amp;quot; по диагонали.&lt;br /&gt;
*Скорость (vel) -Скорость &amp;quot;дрожания&amp;quot;  объекта. По умолчанию  1000.&lt;br /&gt;
*Прозрачность (al) - По умолчанию 0.5.&lt;br /&gt;
&lt;br /&gt;
===Состояния===&lt;br /&gt;
*beg - включить проявление Блюра&lt;br /&gt;
*end - остановить проявление Блюра&lt;br /&gt;
'''Замечание!''' По умолчанию Блюр находится в состоянии end&lt;br /&gt;
=Эффект ДЫМ=&lt;br /&gt;
==Физическое объяснение работы эффекта ДЫМ==&lt;br /&gt;
Область проявления эффекта(ОПФ) — строго ограничена. (В данной версии редактора область только прямоугольная).ОПФ является непрерывной поверхностью и находится в ожидании клика пользователя.&amp;lt;br&amp;gt;&lt;br /&gt;
При  одинарном клике внутри ОПФ проявляется объект с набором параметров, установленными в свойствах объекта Effect, и параметров, определяемых частотой, силой кликов и координатами клика внутри ОПФ. Далее этот объект будем называть излучателем. [[Файл:Распространение_1.JPG|right|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
При одинарном клике  по ОПФ , излучатель направляет во все направления частицы при этом большая часть  частиц распространяется вдоль отрицательной оси У (вверх).  Чем дальше  частицы удаляются от центра излучателя , тем они становятся светлее. На рисунке отображена картинка, которую увидит игрок.&amp;lt;br&amp;gt; [[Файл:Распространение_2.JPG|right]]&amp;lt;br&amp;gt;&lt;br /&gt;
При наличии  2  и более излучателей, находящихся на достаточном малом расстоянии друг от друга, большая часть частиц излучателей будет распространяться по направленному отрезку, образованному двумя излучателями. На экране игрок увидит эффект как от движения ручки по бумаге. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При наличии на экране  2  и более излучателей,  удаленных друг от друга на достаточно большом расстоянии внутри ОПФ, частицы излучателя начинают взаимодействовать друг с другом.&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть  в области ОПФ есть  4 излучателя. На схеме цветными кружками отображены  излучатели, и цветными полями отображены направления распространения частиц излучателя. Пусть необходимо определить яркость частицы в точке Z. Не вдаваясь в математические вычисления, яркость частицы  в точке Z будет равна средневзвешенному значению яркости частиц, расположенных вблизи точки  Z. Все  частицы излучателя влияют на яркость соседних. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Точка_внутри_ОПФ.JPG|right|250px]]&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;
*при нажатии на кнопку мыши и начале движения в любую сторону внутри области эффект начнет вести себя как ручка по бумаге&lt;br /&gt;
*при резком отведении нажатой мышки к границе ОПФ в области , находящейся близко к границе ОПФ, создается несколько излучателей/&lt;br /&gt;
&lt;br /&gt;
[[Файл:Граница_ОПФ.JPG|right|175px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Взаимодействие с картинками эффекта ДЫМ==&lt;br /&gt;
Пусть Effect лежит поверх картинки. &amp;lt;br&amp;gt;&lt;br /&gt;
*После рассеивания всех частиц излучателей на картинке  проявится граница ОПФ. Для устранения  этого эффекта рекомендуется установить прозрачность объекту  Effect. &lt;br /&gt;
*При необходимости добавления эффекта в строго ограниченные не прямоугольной области, например, создание эффекта воды в озере,  необходимо области, на которых не должен проявляться эффект, &amp;quot;закрыть&amp;quot; фоном&lt;br /&gt;
*По умолчанию частица эффекта белого цвета. Есть возможность подгружать частицы любого размера.&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта ДЫМ==&lt;br /&gt;
'''Внимание! Параметры обьекта будут уточняться!'''&amp;lt;br&amp;gt;&lt;br /&gt;
===Свойства объекта Дым===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Название параметра на английском'''&lt;br /&gt;
|'''Названия параметра на русском'''&lt;br /&gt;
|'''Название параметра в xml'''&lt;br /&gt;
|'''Характеристика параметра'''&lt;br /&gt;
|'''Значение по умолчанию'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|частица&lt;br /&gt;
|smPart&lt;br /&gt;
|Ресурс частицы&lt;br /&gt;
|Цвет частицы  - белый&lt;br /&gt;
|-&lt;br /&gt;
|w&lt;br /&gt;
|Ширина распространения эффекта&lt;br /&gt;
|w&lt;br /&gt;
|Значения до 40. Увеличивает ширину излучения. Чем меньше значения, тем шире &lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|h&lt;br /&gt;
|Высота распространения эффекта&lt;br /&gt;
|h&lt;br /&gt;
|До 200. Чем больше значение, тем выше&lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|Velocity diffusion&lt;br /&gt;
|Скорость диффузии&lt;br /&gt;
|Vd &lt;br /&gt;
|Значение до 25. Больше скорость , больше температура&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Diffusion itterations&lt;br /&gt;
|Количество итераций диффузии&lt;br /&gt;
|di&lt;br /&gt;
|До 400&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure diffusion&lt;br /&gt;
|Давление диффузии&lt;br /&gt;
|pd&lt;br /&gt;
|Больше давление, больше частиц. Рекомендуется ставить до 10&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Ink diffusion&lt;br /&gt;
|Плотность газа&lt;br /&gt;
|id&lt;br /&gt;
|Плотность до 800&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction a&lt;br /&gt;
|Квадратичное замедление&lt;br /&gt;
|fva&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction b&lt;br /&gt;
|Линейное замедление&lt;br /&gt;
|fvb&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction c&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|fvc&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Vorticity&lt;br /&gt;
|Завихренность&lt;br /&gt;
|vort&lt;br /&gt;
|Чем больше значение, тем больше вихрей&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure acc&lt;br /&gt;
|Давление в точке &lt;br /&gt;
|pacc&lt;br /&gt;
|Создаются маленькие излучатели вокруг излучателя. Рекомендуется ставить значение до 50&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|ink heat&lt;br /&gt;
|плотность тепла ???&lt;br /&gt;
|ih&lt;br /&gt;
|Вертикально вниз падают частицы&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Heat force&lt;br /&gt;
|????&lt;br /&gt;
|hf&lt;br /&gt;
|Вертикальное падение частиц&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|Heat friction a&lt;br /&gt;
|Квадратичное трение &lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction b&lt;br /&gt;
|Линейное трение Б&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.2&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction с&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.01&lt;br /&gt;
|-&lt;br /&gt;
|Velocity advection&lt;br /&gt;
|Скорость адвекции&lt;br /&gt;
|va&lt;br /&gt;
|Скорость распространения&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Pressure advection&lt;br /&gt;
|Давление адвекци&lt;br /&gt;
|padv&lt;br /&gt;
|Параметр, влияющий на величину давления частиц&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Heat advection&lt;br /&gt;
|Температура адвекции&lt;br /&gt;
|ha&lt;br /&gt;
|Моделируемая температура, при которой распространяются частицы&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Важное замечание====&lt;br /&gt;
*Параметры Velocity friction a, Velocity friction b, Velocity friction c,Heat friction a,Heat friction b,Heat friction c позволяют управлять процессом распространения частиц по ОПФ. Хотя эффекты, создаваемые перечисленными параметрами можно получить с использованием других.&lt;br /&gt;
*Одновременное использование параметров групп Velocity friction или Heat friction  приведет к замедлению распространению частиц. Рекомендуется подбирать значения параметров очень аккуратно при условии, что параметр А &amp;gt;B&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
===Состояния эффекта ДЫМ===&lt;br /&gt;
В данной версии редактора состояний нет.&lt;br /&gt;
&lt;br /&gt;
===Параметры, записываемые в options.xml===&lt;br /&gt;
В данной версии редактора такие параметры отсутствуют&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Эффект AMBIENT WITH LIGHT=&lt;br /&gt;
&lt;br /&gt;
'''Параметры''' :&lt;br /&gt;
&lt;br /&gt;
*awl - Тип эффекта.&lt;br /&gt;
*tag - Номер эффекта.&lt;br /&gt;
&lt;br /&gt;
'''Состояния'''&lt;br /&gt;
&lt;br /&gt;
*awl_beg - Активировать эффект AmbientWithLight.&lt;br /&gt;
*awl_run - Эффект AmbientWithLight работает.&lt;br /&gt;
*awl_upd - Обновить параметры эффекта AmbientWithLight.&lt;br /&gt;
*awl_end - Деактивировать эффект AmbientWithLight.&lt;br /&gt;
&lt;br /&gt;
Замечание! По умолчанию AmbientWithLight находится в состоянии awl_end.&lt;br /&gt;
&lt;br /&gt;
'''Примеры подборки коэффициентов:'''&lt;br /&gt;
&lt;br /&gt;
Стартовая картинка:&lt;br /&gt;
&lt;br /&gt;
[[Файл:awl_start.png]]&lt;br /&gt;
 &lt;br /&gt;
'''''1) Картинка перекрашивается в темно-синий цвет. Эффект ночи.''''' [[Файл:awl_blue.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;0.1, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
g=&amp;quot;0.0, 0.1, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
b=&amp;quot;0.0, 0.0, 0.5, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2) Цветной негатив.''''' [[Файл:awl_c_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;0.0, -1.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;0.0, 0.0, -1.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''3) Черно-белая сепия.''''' [[Файл:awl_dw.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''4) Черно-белый негатив.''''' [[Файл:awl_dw_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример подключения эффекта AmbientWithLight:'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Effect_awl.png]]&lt;br /&gt;
&lt;br /&gt;
=Пример использования обьекта  Effect=&lt;br /&gt;
Примеры эффектов создаваемых с использованием обьекта  Effect расположены по ссылке. В проекте 28 экранов, на каждом из которых расположен один пример эффекта с описанием применяемых параметров.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Пример_экрана_с_эффектом.JPG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Перекрашивание графики ==&lt;br /&gt;
Для начала - перекрашиваемая графика должна быть максимально осветлённая ( чтобы точнее перекрасить цвет, чем темнее графика - тех меньше будет влиять перекрашивание).&lt;br /&gt;
&lt;br /&gt;
Имеем графику:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bg seryj copy.png|430px]]&lt;br /&gt;
&lt;br /&gt;
Далее, производим махинации - узнаём при помощи пипетки ( Photoshop ) цвет эталлоного пикселя ( один и тот же пиксель, на нужной и на осветлённой графиках).&lt;br /&gt;
Заносим полученные значения RGB каналов в таблицу, и для каждого канала узнаём процент цвета ( делим нужный цвет на эталонный).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Colors.ods - LibreOffice Calc.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Полученные % используем в объекте effect:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Splitmanager_setup_awl_6.jpg|460px]]&lt;br /&gt;
&lt;br /&gt;
Далее всё по обычному - указываем тип эффекта awl, указываем номер эффекта и передаём сост. &amp;quot;awl_beg&amp;quot;, результат:&lt;br /&gt;
[[Файл:66c7052ca8.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=TimeLineFX эффекты=&lt;br /&gt;
TimeLineFX эффекты - эффекты, которые создаются с помощью TimeLineFX редактора или из готовых шаблонов.&lt;br /&gt;
&lt;br /&gt;
==Описание эффекта==&lt;br /&gt;
Перед запуском TimeLineFX эффекта нужно записать в объект effect параметры '''eftype''' = particle, '''eftag''' = N (N - номер тега эффекта).&lt;br /&gt;
&lt;br /&gt;
Для запуска эффекта необходимо передать объекту effect состояние '''particle_beg'''.&lt;br /&gt;
&lt;br /&gt;
Для остановки эффекта необходимо передать объекту effect состояние '''particle_end'''.&lt;br /&gt;
&lt;br /&gt;
'''particle_pause''' - ставит эффект на паузу.&lt;br /&gt;
&lt;br /&gt;
'''particle_run''' -  запускает эффект (снимает с паузы если particle_pause ; запускает с нуля если эффект particle_end).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример запуска эффекта через машину состояний показан ниже.&lt;br /&gt;
&lt;br /&gt;
[[Файл:TimeLineFXstates.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для добавления нового эффекта, в настройках объекта effect используем кнопку '''&amp;quot;Import Effect&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
В открытом окне выбираем нужную нам библиотеку эффектов формата .eff.&lt;br /&gt;
&lt;br /&gt;
В качестве эффектов можно добавлять готовые шаблоны из предложенных на сайте https://www.rigzsoft.co.uk/download-timelinefx/ или любых других источников.&lt;br /&gt;
&lt;br /&gt;
Также эффекты можно модифицировать или создавать свои через TimeLineFX редактор.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После импорта эффекта он появится в табличке с параметрами:&lt;br /&gt;
&lt;br /&gt;
'''NAME''' - имя эффекта. Берется из импортированной библиотеки, можно менять.&lt;br /&gt;
&lt;br /&gt;
'''tag''' - номер тега эффекта, по которому будем его запускать.&lt;br /&gt;
&lt;br /&gt;
'''tlfx''' - все параметры эффекта&lt;br /&gt;
&lt;br /&gt;
'''resids''' - айдишники ресурсов, используемых эффектом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Нажав на кнопку с глазом возле &amp;quot;Import Effect&amp;quot; откроется окно предварительного просмотра эффекта.&lt;br /&gt;
&lt;br /&gt;
==TimeLineFX редактор==&lt;br /&gt;
Готовые скачанные шаблоны эффектов можно модифицировать с помощью TimeLineFX редактора (при этом их желательно урезать и уменьшать, так как часто в них используется слишком много ресурсов).&lt;br /&gt;
&lt;br /&gt;
Также можно создавать совершенно новые свои эффекты.&lt;br /&gt;
&lt;br /&gt;
В самом редакторе '''ОЧЕНЬ''' много возможностей и настроек для эффектов.&lt;br /&gt;
&lt;br /&gt;
Подробно ознакомиться с документацией редактора можно по ссылке:&lt;br /&gt;
&lt;br /&gt;
https://www.rigzsoft.co.uk/timelinefx-help/&lt;br /&gt;
&lt;br /&gt;
Пример TimeLineFX взрыва:&lt;br /&gt;
&lt;br /&gt;
[[Файл:TimeLineFXexplosion.jpg|540px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После создания / модификаций эффекта сохраняем его в формате .eff и импортируем в объект effect в редакторе или просто сохраняем в случае открытия редактора для модификации уже импортированного эффекта через объект effect.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/effect.rar Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9584</id>
		<title>Effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9584"/>
		<updated>2018-06-15T10:44:00Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* TimeLineFX редактор */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Effect   - [[Object|объект]] редактора, предназначенный для создания различных визуальных эффектов, которые визуализируется (проявляются) в зависимости от частоты кликов пользователя по заданной  области проявления  эффекта. &amp;lt;br&amp;gt;&lt;br /&gt;
Обьект  Effect расположен в Main objects&amp;lt;br&amp;gt;&lt;br /&gt;
'''Важное замечание!'''&amp;lt;br&amp;gt;&lt;br /&gt;
Эффект БЛЮР и ДЫМ не могут быть вызваны одним экземляром класса Effect&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Эффект БЛЮР=&lt;br /&gt;
Эффект блюр позволяет создавать дребезжание объекта. Например, раздвоение объекта.&lt;br /&gt;
==Механизм работы эффекта БЛЮР==&lt;br /&gt;
Ситуация:&lt;br /&gt;
Пользователю необходимо отключить звенящий будильник. Пользователь на экране видит дребезжащий будильник. По клику на будильник дребезжание будильника прекращается. &amp;lt;br&amp;gt;&lt;br /&gt;
Порядок действий:&amp;lt;br&amp;gt;&lt;br /&gt;
* На сцене размещаем машину состояний с графическим ресурсом будильника. Назовем ее  БУД. Обработка клика на машину состояний стандартная.&lt;br /&gt;
* На сцене размещаем объект Effect. Положение объекта Effect должно полностью совпадать с положением машины состояний БУД!&lt;br /&gt;
* Свойству Объект эффекта БЛЮР устанавливаем значение машину состояний БУД. Значения других свойств эффекта БЛЮР оставляем стандартными.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта Блюр==&lt;br /&gt;
===Свойства объекта Блюр===&lt;br /&gt;
*Объект (obj) - Объект, к которому будет применен эффект блюр.&lt;br /&gt;
*Продолжительность (tm) - продолжительность эффекта. По умолчанию 4000.&lt;br /&gt;
*Отклонение (dev)-. Чем больше отклонение, тем больше &amp;quot;отскакивает&amp;quot; в разные стороны от центра объекта По умолчанию 10. При задании значений больше 90 объект &amp;quot;скачет&amp;quot; по диагонали.&lt;br /&gt;
*Скорость (vel) -Скорость &amp;quot;дрожания&amp;quot;  объекта. По умолчанию  1000.&lt;br /&gt;
*Прозрачность (al) - По умолчанию 0.5.&lt;br /&gt;
&lt;br /&gt;
===Состояния===&lt;br /&gt;
*beg - включить проявление Блюра&lt;br /&gt;
*end - остановить проявление Блюра&lt;br /&gt;
'''Замечание!''' По умолчанию Блюр находится в состоянии end&lt;br /&gt;
=Эффект ДЫМ=&lt;br /&gt;
==Физическое объяснение работы эффекта ДЫМ==&lt;br /&gt;
Область проявления эффекта(ОПФ) — строго ограничена. (В данной версии редактора область только прямоугольная).ОПФ является непрерывной поверхностью и находится в ожидании клика пользователя.&amp;lt;br&amp;gt;&lt;br /&gt;
При  одинарном клике внутри ОПФ проявляется объект с набором параметров, установленными в свойствах объекта Effect, и параметров, определяемых частотой, силой кликов и координатами клика внутри ОПФ. Далее этот объект будем называть излучателем. [[Файл:Распространение_1.JPG|right|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
При одинарном клике  по ОПФ , излучатель направляет во все направления частицы при этом большая часть  частиц распространяется вдоль отрицательной оси У (вверх).  Чем дальше  частицы удаляются от центра излучателя , тем они становятся светлее. На рисунке отображена картинка, которую увидит игрок.&amp;lt;br&amp;gt; [[Файл:Распространение_2.JPG|right]]&amp;lt;br&amp;gt;&lt;br /&gt;
При наличии  2  и более излучателей, находящихся на достаточном малом расстоянии друг от друга, большая часть частиц излучателей будет распространяться по направленному отрезку, образованному двумя излучателями. На экране игрок увидит эффект как от движения ручки по бумаге. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При наличии на экране  2  и более излучателей,  удаленных друг от друга на достаточно большом расстоянии внутри ОПФ, частицы излучателя начинают взаимодействовать друг с другом.&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть  в области ОПФ есть  4 излучателя. На схеме цветными кружками отображены  излучатели, и цветными полями отображены направления распространения частиц излучателя. Пусть необходимо определить яркость частицы в точке Z. Не вдаваясь в математические вычисления, яркость частицы  в точке Z будет равна средневзвешенному значению яркости частиц, расположенных вблизи точки  Z. Все  частицы излучателя влияют на яркость соседних. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Точка_внутри_ОПФ.JPG|right|250px]]&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;
*при нажатии на кнопку мыши и начале движения в любую сторону внутри области эффект начнет вести себя как ручка по бумаге&lt;br /&gt;
*при резком отведении нажатой мышки к границе ОПФ в области , находящейся близко к границе ОПФ, создается несколько излучателей/&lt;br /&gt;
&lt;br /&gt;
[[Файл:Граница_ОПФ.JPG|right|175px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Взаимодействие с картинками эффекта ДЫМ==&lt;br /&gt;
Пусть Effect лежит поверх картинки. &amp;lt;br&amp;gt;&lt;br /&gt;
*После рассеивания всех частиц излучателей на картинке  проявится граница ОПФ. Для устранения  этого эффекта рекомендуется установить прозрачность объекту  Effect. &lt;br /&gt;
*При необходимости добавления эффекта в строго ограниченные не прямоугольной области, например, создание эффекта воды в озере,  необходимо области, на которых не должен проявляться эффект, &amp;quot;закрыть&amp;quot; фоном&lt;br /&gt;
*По умолчанию частица эффекта белого цвета. Есть возможность подгружать частицы любого размера.&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта ДЫМ==&lt;br /&gt;
'''Внимание! Параметры обьекта будут уточняться!'''&amp;lt;br&amp;gt;&lt;br /&gt;
===Свойства объекта Дым===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Название параметра на английском'''&lt;br /&gt;
|'''Названия параметра на русском'''&lt;br /&gt;
|'''Название параметра в xml'''&lt;br /&gt;
|'''Характеристика параметра'''&lt;br /&gt;
|'''Значение по умолчанию'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|частица&lt;br /&gt;
|smPart&lt;br /&gt;
|Ресурс частицы&lt;br /&gt;
|Цвет частицы  - белый&lt;br /&gt;
|-&lt;br /&gt;
|w&lt;br /&gt;
|Ширина распространения эффекта&lt;br /&gt;
|w&lt;br /&gt;
|Значения до 40. Увеличивает ширину излучения. Чем меньше значения, тем шире &lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|h&lt;br /&gt;
|Высота распространения эффекта&lt;br /&gt;
|h&lt;br /&gt;
|До 200. Чем больше значение, тем выше&lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|Velocity diffusion&lt;br /&gt;
|Скорость диффузии&lt;br /&gt;
|Vd &lt;br /&gt;
|Значение до 25. Больше скорость , больше температура&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Diffusion itterations&lt;br /&gt;
|Количество итераций диффузии&lt;br /&gt;
|di&lt;br /&gt;
|До 400&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure diffusion&lt;br /&gt;
|Давление диффузии&lt;br /&gt;
|pd&lt;br /&gt;
|Больше давление, больше частиц. Рекомендуется ставить до 10&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Ink diffusion&lt;br /&gt;
|Плотность газа&lt;br /&gt;
|id&lt;br /&gt;
|Плотность до 800&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction a&lt;br /&gt;
|Квадратичное замедление&lt;br /&gt;
|fva&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction b&lt;br /&gt;
|Линейное замедление&lt;br /&gt;
|fvb&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction c&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|fvc&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Vorticity&lt;br /&gt;
|Завихренность&lt;br /&gt;
|vort&lt;br /&gt;
|Чем больше значение, тем больше вихрей&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure acc&lt;br /&gt;
|Давление в точке &lt;br /&gt;
|pacc&lt;br /&gt;
|Создаются маленькие излучатели вокруг излучателя. Рекомендуется ставить значение до 50&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|ink heat&lt;br /&gt;
|плотность тепла ???&lt;br /&gt;
|ih&lt;br /&gt;
|Вертикально вниз падают частицы&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Heat force&lt;br /&gt;
|????&lt;br /&gt;
|hf&lt;br /&gt;
|Вертикальное падение частиц&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|Heat friction a&lt;br /&gt;
|Квадратичное трение &lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction b&lt;br /&gt;
|Линейное трение Б&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.2&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction с&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.01&lt;br /&gt;
|-&lt;br /&gt;
|Velocity advection&lt;br /&gt;
|Скорость адвекции&lt;br /&gt;
|va&lt;br /&gt;
|Скорость распространения&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Pressure advection&lt;br /&gt;
|Давление адвекци&lt;br /&gt;
|padv&lt;br /&gt;
|Параметр, влияющий на величину давления частиц&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Heat advection&lt;br /&gt;
|Температура адвекции&lt;br /&gt;
|ha&lt;br /&gt;
|Моделируемая температура, при которой распространяются частицы&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Важное замечание====&lt;br /&gt;
*Параметры Velocity friction a, Velocity friction b, Velocity friction c,Heat friction a,Heat friction b,Heat friction c позволяют управлять процессом распространения частиц по ОПФ. Хотя эффекты, создаваемые перечисленными параметрами можно получить с использованием других.&lt;br /&gt;
*Одновременное использование параметров групп Velocity friction или Heat friction  приведет к замедлению распространению частиц. Рекомендуется подбирать значения параметров очень аккуратно при условии, что параметр А &amp;gt;B&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
===Состояния эффекта ДЫМ===&lt;br /&gt;
В данной версии редактора состояний нет.&lt;br /&gt;
&lt;br /&gt;
===Параметры, записываемые в options.xml===&lt;br /&gt;
В данной версии редактора такие параметры отсутствуют&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Эффект AMBIENT WITH LIGHT=&lt;br /&gt;
&lt;br /&gt;
'''Параметры''' :&lt;br /&gt;
&lt;br /&gt;
*awl - Тип эффекта.&lt;br /&gt;
*tag - Номер эффекта.&lt;br /&gt;
&lt;br /&gt;
'''Состояния'''&lt;br /&gt;
&lt;br /&gt;
*awl_beg - Активировать эффект AmbientWithLight.&lt;br /&gt;
*awl_run - Эффект AmbientWithLight работает.&lt;br /&gt;
*awl_upd - Обновить параметры эффекта AmbientWithLight.&lt;br /&gt;
*awl_end - Деактивировать эффект AmbientWithLight.&lt;br /&gt;
&lt;br /&gt;
Замечание! По умолчанию AmbientWithLight находится в состоянии awl_end.&lt;br /&gt;
&lt;br /&gt;
'''Примеры подборки коэффициентов:'''&lt;br /&gt;
&lt;br /&gt;
Стартовая картинка:&lt;br /&gt;
&lt;br /&gt;
[[Файл:awl_start.png]]&lt;br /&gt;
 &lt;br /&gt;
'''''1) Картинка перекрашивается в темно-синий цвет. Эффект ночи.''''' [[Файл:awl_blue.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;0.1, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
g=&amp;quot;0.0, 0.1, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
b=&amp;quot;0.0, 0.0, 0.5, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2) Цветной негатив.''''' [[Файл:awl_c_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;0.0, -1.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;0.0, 0.0, -1.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''3) Черно-белая сепия.''''' [[Файл:awl_dw.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''4) Черно-белый негатив.''''' [[Файл:awl_dw_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример подключения эффекта AmbientWithLight:'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Effect_awl.png]]&lt;br /&gt;
&lt;br /&gt;
=Пример использования обьекта  Effect=&lt;br /&gt;
Примеры эффектов создаваемых с использованием обьекта  Effect расположены по ссылке. В проекте 28 экранов, на каждом из которых расположен один пример эффекта с описанием применяемых параметров.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Пример_экрана_с_эффектом.JPG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Перекрашивание графики ==&lt;br /&gt;
Для начала - перекрашиваемая графика должна быть максимально осветлённая ( чтобы точнее перекрасить цвет, чем темнее графика - тех меньше будет влиять перекрашивание).&lt;br /&gt;
&lt;br /&gt;
Имеем графику:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bg seryj copy.png|430px]]&lt;br /&gt;
&lt;br /&gt;
Далее, производим махинации - узнаём при помощи пипетки ( Photoshop ) цвет эталлоного пикселя ( один и тот же пиксель, на нужной и на осветлённой графиках).&lt;br /&gt;
Заносим полученные значения RGB каналов в таблицу, и для каждого канала узнаём процент цвета ( делим нужный цвет на эталонный).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Colors.ods - LibreOffice Calc.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Полученные % используем в объекте effect:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Splitmanager_setup_awl_6.jpg|460px]]&lt;br /&gt;
&lt;br /&gt;
Далее всё по обычному - указываем тип эффекта awl, указываем номер эффекта и передаём сост. &amp;quot;awl_beg&amp;quot;, результат:&lt;br /&gt;
[[Файл:66c7052ca8.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=TimeLineFX эффекты=&lt;br /&gt;
TimeLineFX эффекты - эффекты, которые создаются с помощью TimeLineFX редактора или из готовых шаблонов.&lt;br /&gt;
&lt;br /&gt;
==Описание эффекта==&lt;br /&gt;
Перед запуском TimeLineFX эффекта нужно записать в объект effect параметры '''eftype''' = particle, '''eftag''' = N (N - номер тега эффекта).&lt;br /&gt;
&lt;br /&gt;
Для запуска эффекта необходимо передать объекту effect состояние '''particle_beg'''.&lt;br /&gt;
&lt;br /&gt;
Для остановки эффекта необходимо передать объекту effect состояние '''particle_end'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример запуска эффекта через машину состояний показан ниже.&lt;br /&gt;
&lt;br /&gt;
[[Файл:TimeLineFXstates.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для добавления нового эффекта, в настройках объекта effect используем кнопку '''&amp;quot;Import Effect&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
В открытом окне выбираем нужную нам библиотеку эффектов формата .eff.&lt;br /&gt;
&lt;br /&gt;
В качестве эффектов можно добавлять готовые шаблоны из предложенных на сайте https://www.rigzsoft.co.uk/download-timelinefx/ или любых других источников.&lt;br /&gt;
&lt;br /&gt;
Также эффекты можно модифицировать или создавать свои через TimeLineFX редактор.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После импорта эффекта он появится в табличке с параметрами:&lt;br /&gt;
&lt;br /&gt;
'''NAME''' - имя эффекта. Берется из импортированной библиотеки, можно менять.&lt;br /&gt;
&lt;br /&gt;
'''tag''' - номер тега эффекта, по которому будем его запускать.&lt;br /&gt;
&lt;br /&gt;
'''tlfx''' - все параметры эффекта&lt;br /&gt;
&lt;br /&gt;
'''resids''' - айдишники ресурсов, используемых эффектом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Нажав на кнопку с глазом возле &amp;quot;Import Effect&amp;quot; откроется окно предварительного просмотра эффекта.&lt;br /&gt;
&lt;br /&gt;
==TimeLineFX редактор==&lt;br /&gt;
Готовые скачанные шаблоны эффектов можно модифицировать с помощью TimeLineFX редактора (при этом их желательно урезать и уменьшать, так как часто в них используется слишком много ресурсов).&lt;br /&gt;
&lt;br /&gt;
Также можно создавать совершенно новые свои эффекты.&lt;br /&gt;
&lt;br /&gt;
В самом редакторе '''ОЧЕНЬ''' много возможностей и настроек для эффектов.&lt;br /&gt;
&lt;br /&gt;
Подробно ознакомиться с документацией редактора можно по ссылке:&lt;br /&gt;
&lt;br /&gt;
https://www.rigzsoft.co.uk/timelinefx-help/&lt;br /&gt;
&lt;br /&gt;
Пример TimeLineFX взрыва:&lt;br /&gt;
&lt;br /&gt;
[[Файл:TimeLineFXexplosion.jpg|540px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После создания / модификаций эффекта сохраняем его в формате .eff и импортируем в объект effect в редакторе или просто сохраняем в случае открытия редактора для модификации уже импортированного эффекта через объект effect.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/effect.rar Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9583</id>
		<title>Effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9583"/>
		<updated>2018-06-15T10:41:42Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* TimeLineFX редактор */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Effect   - [[Object|объект]] редактора, предназначенный для создания различных визуальных эффектов, которые визуализируется (проявляются) в зависимости от частоты кликов пользователя по заданной  области проявления  эффекта. &amp;lt;br&amp;gt;&lt;br /&gt;
Обьект  Effect расположен в Main objects&amp;lt;br&amp;gt;&lt;br /&gt;
'''Важное замечание!'''&amp;lt;br&amp;gt;&lt;br /&gt;
Эффект БЛЮР и ДЫМ не могут быть вызваны одним экземляром класса Effect&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Эффект БЛЮР=&lt;br /&gt;
Эффект блюр позволяет создавать дребезжание объекта. Например, раздвоение объекта.&lt;br /&gt;
==Механизм работы эффекта БЛЮР==&lt;br /&gt;
Ситуация:&lt;br /&gt;
Пользователю необходимо отключить звенящий будильник. Пользователь на экране видит дребезжащий будильник. По клику на будильник дребезжание будильника прекращается. &amp;lt;br&amp;gt;&lt;br /&gt;
Порядок действий:&amp;lt;br&amp;gt;&lt;br /&gt;
* На сцене размещаем машину состояний с графическим ресурсом будильника. Назовем ее  БУД. Обработка клика на машину состояний стандартная.&lt;br /&gt;
* На сцене размещаем объект Effect. Положение объекта Effect должно полностью совпадать с положением машины состояний БУД!&lt;br /&gt;
* Свойству Объект эффекта БЛЮР устанавливаем значение машину состояний БУД. Значения других свойств эффекта БЛЮР оставляем стандартными.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта Блюр==&lt;br /&gt;
===Свойства объекта Блюр===&lt;br /&gt;
*Объект (obj) - Объект, к которому будет применен эффект блюр.&lt;br /&gt;
*Продолжительность (tm) - продолжительность эффекта. По умолчанию 4000.&lt;br /&gt;
*Отклонение (dev)-. Чем больше отклонение, тем больше &amp;quot;отскакивает&amp;quot; в разные стороны от центра объекта По умолчанию 10. При задании значений больше 90 объект &amp;quot;скачет&amp;quot; по диагонали.&lt;br /&gt;
*Скорость (vel) -Скорость &amp;quot;дрожания&amp;quot;  объекта. По умолчанию  1000.&lt;br /&gt;
*Прозрачность (al) - По умолчанию 0.5.&lt;br /&gt;
&lt;br /&gt;
===Состояния===&lt;br /&gt;
*beg - включить проявление Блюра&lt;br /&gt;
*end - остановить проявление Блюра&lt;br /&gt;
'''Замечание!''' По умолчанию Блюр находится в состоянии end&lt;br /&gt;
=Эффект ДЫМ=&lt;br /&gt;
==Физическое объяснение работы эффекта ДЫМ==&lt;br /&gt;
Область проявления эффекта(ОПФ) — строго ограничена. (В данной версии редактора область только прямоугольная).ОПФ является непрерывной поверхностью и находится в ожидании клика пользователя.&amp;lt;br&amp;gt;&lt;br /&gt;
При  одинарном клике внутри ОПФ проявляется объект с набором параметров, установленными в свойствах объекта Effect, и параметров, определяемых частотой, силой кликов и координатами клика внутри ОПФ. Далее этот объект будем называть излучателем. [[Файл:Распространение_1.JPG|right|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
При одинарном клике  по ОПФ , излучатель направляет во все направления частицы при этом большая часть  частиц распространяется вдоль отрицательной оси У (вверх).  Чем дальше  частицы удаляются от центра излучателя , тем они становятся светлее. На рисунке отображена картинка, которую увидит игрок.&amp;lt;br&amp;gt; [[Файл:Распространение_2.JPG|right]]&amp;lt;br&amp;gt;&lt;br /&gt;
При наличии  2  и более излучателей, находящихся на достаточном малом расстоянии друг от друга, большая часть частиц излучателей будет распространяться по направленному отрезку, образованному двумя излучателями. На экране игрок увидит эффект как от движения ручки по бумаге. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При наличии на экране  2  и более излучателей,  удаленных друг от друга на достаточно большом расстоянии внутри ОПФ, частицы излучателя начинают взаимодействовать друг с другом.&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть  в области ОПФ есть  4 излучателя. На схеме цветными кружками отображены  излучатели, и цветными полями отображены направления распространения частиц излучателя. Пусть необходимо определить яркость частицы в точке Z. Не вдаваясь в математические вычисления, яркость частицы  в точке Z будет равна средневзвешенному значению яркости частиц, расположенных вблизи точки  Z. Все  частицы излучателя влияют на яркость соседних. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Точка_внутри_ОПФ.JPG|right|250px]]&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;
*при нажатии на кнопку мыши и начале движения в любую сторону внутри области эффект начнет вести себя как ручка по бумаге&lt;br /&gt;
*при резком отведении нажатой мышки к границе ОПФ в области , находящейся близко к границе ОПФ, создается несколько излучателей/&lt;br /&gt;
&lt;br /&gt;
[[Файл:Граница_ОПФ.JPG|right|175px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Взаимодействие с картинками эффекта ДЫМ==&lt;br /&gt;
Пусть Effect лежит поверх картинки. &amp;lt;br&amp;gt;&lt;br /&gt;
*После рассеивания всех частиц излучателей на картинке  проявится граница ОПФ. Для устранения  этого эффекта рекомендуется установить прозрачность объекту  Effect. &lt;br /&gt;
*При необходимости добавления эффекта в строго ограниченные не прямоугольной области, например, создание эффекта воды в озере,  необходимо области, на которых не должен проявляться эффект, &amp;quot;закрыть&amp;quot; фоном&lt;br /&gt;
*По умолчанию частица эффекта белого цвета. Есть возможность подгружать частицы любого размера.&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта ДЫМ==&lt;br /&gt;
'''Внимание! Параметры обьекта будут уточняться!'''&amp;lt;br&amp;gt;&lt;br /&gt;
===Свойства объекта Дым===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Название параметра на английском'''&lt;br /&gt;
|'''Названия параметра на русском'''&lt;br /&gt;
|'''Название параметра в xml'''&lt;br /&gt;
|'''Характеристика параметра'''&lt;br /&gt;
|'''Значение по умолчанию'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|частица&lt;br /&gt;
|smPart&lt;br /&gt;
|Ресурс частицы&lt;br /&gt;
|Цвет частицы  - белый&lt;br /&gt;
|-&lt;br /&gt;
|w&lt;br /&gt;
|Ширина распространения эффекта&lt;br /&gt;
|w&lt;br /&gt;
|Значения до 40. Увеличивает ширину излучения. Чем меньше значения, тем шире &lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|h&lt;br /&gt;
|Высота распространения эффекта&lt;br /&gt;
|h&lt;br /&gt;
|До 200. Чем больше значение, тем выше&lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|Velocity diffusion&lt;br /&gt;
|Скорость диффузии&lt;br /&gt;
|Vd &lt;br /&gt;
|Значение до 25. Больше скорость , больше температура&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Diffusion itterations&lt;br /&gt;
|Количество итераций диффузии&lt;br /&gt;
|di&lt;br /&gt;
|До 400&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure diffusion&lt;br /&gt;
|Давление диффузии&lt;br /&gt;
|pd&lt;br /&gt;
|Больше давление, больше частиц. Рекомендуется ставить до 10&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Ink diffusion&lt;br /&gt;
|Плотность газа&lt;br /&gt;
|id&lt;br /&gt;
|Плотность до 800&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction a&lt;br /&gt;
|Квадратичное замедление&lt;br /&gt;
|fva&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction b&lt;br /&gt;
|Линейное замедление&lt;br /&gt;
|fvb&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction c&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|fvc&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Vorticity&lt;br /&gt;
|Завихренность&lt;br /&gt;
|vort&lt;br /&gt;
|Чем больше значение, тем больше вихрей&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure acc&lt;br /&gt;
|Давление в точке &lt;br /&gt;
|pacc&lt;br /&gt;
|Создаются маленькие излучатели вокруг излучателя. Рекомендуется ставить значение до 50&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|ink heat&lt;br /&gt;
|плотность тепла ???&lt;br /&gt;
|ih&lt;br /&gt;
|Вертикально вниз падают частицы&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Heat force&lt;br /&gt;
|????&lt;br /&gt;
|hf&lt;br /&gt;
|Вертикальное падение частиц&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|Heat friction a&lt;br /&gt;
|Квадратичное трение &lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction b&lt;br /&gt;
|Линейное трение Б&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.2&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction с&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.01&lt;br /&gt;
|-&lt;br /&gt;
|Velocity advection&lt;br /&gt;
|Скорость адвекции&lt;br /&gt;
|va&lt;br /&gt;
|Скорость распространения&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Pressure advection&lt;br /&gt;
|Давление адвекци&lt;br /&gt;
|padv&lt;br /&gt;
|Параметр, влияющий на величину давления частиц&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Heat advection&lt;br /&gt;
|Температура адвекции&lt;br /&gt;
|ha&lt;br /&gt;
|Моделируемая температура, при которой распространяются частицы&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Важное замечание====&lt;br /&gt;
*Параметры Velocity friction a, Velocity friction b, Velocity friction c,Heat friction a,Heat friction b,Heat friction c позволяют управлять процессом распространения частиц по ОПФ. Хотя эффекты, создаваемые перечисленными параметрами можно получить с использованием других.&lt;br /&gt;
*Одновременное использование параметров групп Velocity friction или Heat friction  приведет к замедлению распространению частиц. Рекомендуется подбирать значения параметров очень аккуратно при условии, что параметр А &amp;gt;B&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
===Состояния эффекта ДЫМ===&lt;br /&gt;
В данной версии редактора состояний нет.&lt;br /&gt;
&lt;br /&gt;
===Параметры, записываемые в options.xml===&lt;br /&gt;
В данной версии редактора такие параметры отсутствуют&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Эффект AMBIENT WITH LIGHT=&lt;br /&gt;
&lt;br /&gt;
'''Параметры''' :&lt;br /&gt;
&lt;br /&gt;
*awl - Тип эффекта.&lt;br /&gt;
*tag - Номер эффекта.&lt;br /&gt;
&lt;br /&gt;
'''Состояния'''&lt;br /&gt;
&lt;br /&gt;
*awl_beg - Активировать эффект AmbientWithLight.&lt;br /&gt;
*awl_run - Эффект AmbientWithLight работает.&lt;br /&gt;
*awl_upd - Обновить параметры эффекта AmbientWithLight.&lt;br /&gt;
*awl_end - Деактивировать эффект AmbientWithLight.&lt;br /&gt;
&lt;br /&gt;
Замечание! По умолчанию AmbientWithLight находится в состоянии awl_end.&lt;br /&gt;
&lt;br /&gt;
'''Примеры подборки коэффициентов:'''&lt;br /&gt;
&lt;br /&gt;
Стартовая картинка:&lt;br /&gt;
&lt;br /&gt;
[[Файл:awl_start.png]]&lt;br /&gt;
 &lt;br /&gt;
'''''1) Картинка перекрашивается в темно-синий цвет. Эффект ночи.''''' [[Файл:awl_blue.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;0.1, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
g=&amp;quot;0.0, 0.1, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
b=&amp;quot;0.0, 0.0, 0.5, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2) Цветной негатив.''''' [[Файл:awl_c_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;0.0, -1.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;0.0, 0.0, -1.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''3) Черно-белая сепия.''''' [[Файл:awl_dw.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''4) Черно-белый негатив.''''' [[Файл:awl_dw_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример подключения эффекта AmbientWithLight:'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Effect_awl.png]]&lt;br /&gt;
&lt;br /&gt;
=Пример использования обьекта  Effect=&lt;br /&gt;
Примеры эффектов создаваемых с использованием обьекта  Effect расположены по ссылке. В проекте 28 экранов, на каждом из которых расположен один пример эффекта с описанием применяемых параметров.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Пример_экрана_с_эффектом.JPG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Перекрашивание графики ==&lt;br /&gt;
Для начала - перекрашиваемая графика должна быть максимально осветлённая ( чтобы точнее перекрасить цвет, чем темнее графика - тех меньше будет влиять перекрашивание).&lt;br /&gt;
&lt;br /&gt;
Имеем графику:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bg seryj copy.png|430px]]&lt;br /&gt;
&lt;br /&gt;
Далее, производим махинации - узнаём при помощи пипетки ( Photoshop ) цвет эталлоного пикселя ( один и тот же пиксель, на нужной и на осветлённой графиках).&lt;br /&gt;
Заносим полученные значения RGB каналов в таблицу, и для каждого канала узнаём процент цвета ( делим нужный цвет на эталонный).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Colors.ods - LibreOffice Calc.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Полученные % используем в объекте effect:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Splitmanager_setup_awl_6.jpg|460px]]&lt;br /&gt;
&lt;br /&gt;
Далее всё по обычному - указываем тип эффекта awl, указываем номер эффекта и передаём сост. &amp;quot;awl_beg&amp;quot;, результат:&lt;br /&gt;
[[Файл:66c7052ca8.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=TimeLineFX эффекты=&lt;br /&gt;
TimeLineFX эффекты - эффекты, которые создаются с помощью TimeLineFX редактора или из готовых шаблонов.&lt;br /&gt;
&lt;br /&gt;
==Описание эффекта==&lt;br /&gt;
Перед запуском TimeLineFX эффекта нужно записать в объект effect параметры '''eftype''' = particle, '''eftag''' = N (N - номер тега эффекта).&lt;br /&gt;
&lt;br /&gt;
Для запуска эффекта необходимо передать объекту effect состояние '''particle_beg'''.&lt;br /&gt;
&lt;br /&gt;
Для остановки эффекта необходимо передать объекту effect состояние '''particle_end'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример запуска эффекта через машину состояний показан ниже.&lt;br /&gt;
&lt;br /&gt;
[[Файл:TimeLineFXstates.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для добавления нового эффекта, в настройках объекта effect используем кнопку '''&amp;quot;Import Effect&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
В открытом окне выбираем нужную нам библиотеку эффектов формата .eff.&lt;br /&gt;
&lt;br /&gt;
В качестве эффектов можно добавлять готовые шаблоны из предложенных на сайте https://www.rigzsoft.co.uk/download-timelinefx/ или любых других источников.&lt;br /&gt;
&lt;br /&gt;
Также эффекты можно модифицировать или создавать свои через TimeLineFX редактор.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После импорта эффекта он появится в табличке с параметрами:&lt;br /&gt;
&lt;br /&gt;
'''NAME''' - имя эффекта. Берется из импортированной библиотеки, можно менять.&lt;br /&gt;
&lt;br /&gt;
'''tag''' - номер тега эффекта, по которому будем его запускать.&lt;br /&gt;
&lt;br /&gt;
'''tlfx''' - все параметры эффекта&lt;br /&gt;
&lt;br /&gt;
'''resids''' - айдишники ресурсов, используемых эффектом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Нажав на кнопку с глазом возле &amp;quot;Import Effect&amp;quot; откроется окно предварительного просмотра эффекта.&lt;br /&gt;
&lt;br /&gt;
==TimeLineFX редактор==&lt;br /&gt;
Готовые скачанные шаблоны эффектов можно модифицировать с помощью TimeLineFX редактора (при этом их желательно урезать и уменьшать, так как часто в них используется слишком много ресурсов).&lt;br /&gt;
&lt;br /&gt;
Также можно создавать совершенно новые свои эффекты.&lt;br /&gt;
&lt;br /&gt;
В самом редакторе '''ОЧЕНЬ''' много возможностей и настроек для эффектов.&lt;br /&gt;
&lt;br /&gt;
Подробно ознакомиться с документацией редактора можно по ссылке:&lt;br /&gt;
&lt;br /&gt;
https://www.rigzsoft.co.uk/timelinefx-help/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После создания / модификаций эффекта сохраняем его в формате .eff и импортируем в объект effect в редакторе или просто сохраняем в случае открытия редактора для модификации уже импортированного эффекта через объект effect.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/effect.rar Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:TimeLineFXexplosion.jpg&amp;diff=9582</id>
		<title>Файл:TimeLineFXexplosion.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:TimeLineFXexplosion.jpg&amp;diff=9582"/>
		<updated>2018-06-15T10:41:13Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9581</id>
		<title>Effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9581"/>
		<updated>2018-06-15T08:03:04Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Effect   - [[Object|объект]] редактора, предназначенный для создания различных визуальных эффектов, которые визуализируется (проявляются) в зависимости от частоты кликов пользователя по заданной  области проявления  эффекта. &amp;lt;br&amp;gt;&lt;br /&gt;
Обьект  Effect расположен в Main objects&amp;lt;br&amp;gt;&lt;br /&gt;
'''Важное замечание!'''&amp;lt;br&amp;gt;&lt;br /&gt;
Эффект БЛЮР и ДЫМ не могут быть вызваны одним экземляром класса Effect&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Эффект БЛЮР=&lt;br /&gt;
Эффект блюр позволяет создавать дребезжание объекта. Например, раздвоение объекта.&lt;br /&gt;
==Механизм работы эффекта БЛЮР==&lt;br /&gt;
Ситуация:&lt;br /&gt;
Пользователю необходимо отключить звенящий будильник. Пользователь на экране видит дребезжащий будильник. По клику на будильник дребезжание будильника прекращается. &amp;lt;br&amp;gt;&lt;br /&gt;
Порядок действий:&amp;lt;br&amp;gt;&lt;br /&gt;
* На сцене размещаем машину состояний с графическим ресурсом будильника. Назовем ее  БУД. Обработка клика на машину состояний стандартная.&lt;br /&gt;
* На сцене размещаем объект Effect. Положение объекта Effect должно полностью совпадать с положением машины состояний БУД!&lt;br /&gt;
* Свойству Объект эффекта БЛЮР устанавливаем значение машину состояний БУД. Значения других свойств эффекта БЛЮР оставляем стандартными.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта Блюр==&lt;br /&gt;
===Свойства объекта Блюр===&lt;br /&gt;
*Объект (obj) - Объект, к которому будет применен эффект блюр.&lt;br /&gt;
*Продолжительность (tm) - продолжительность эффекта. По умолчанию 4000.&lt;br /&gt;
*Отклонение (dev)-. Чем больше отклонение, тем больше &amp;quot;отскакивает&amp;quot; в разные стороны от центра объекта По умолчанию 10. При задании значений больше 90 объект &amp;quot;скачет&amp;quot; по диагонали.&lt;br /&gt;
*Скорость (vel) -Скорость &amp;quot;дрожания&amp;quot;  объекта. По умолчанию  1000.&lt;br /&gt;
*Прозрачность (al) - По умолчанию 0.5.&lt;br /&gt;
&lt;br /&gt;
===Состояния===&lt;br /&gt;
*beg - включить проявление Блюра&lt;br /&gt;
*end - остановить проявление Блюра&lt;br /&gt;
'''Замечание!''' По умолчанию Блюр находится в состоянии end&lt;br /&gt;
=Эффект ДЫМ=&lt;br /&gt;
==Физическое объяснение работы эффекта ДЫМ==&lt;br /&gt;
Область проявления эффекта(ОПФ) — строго ограничена. (В данной версии редактора область только прямоугольная).ОПФ является непрерывной поверхностью и находится в ожидании клика пользователя.&amp;lt;br&amp;gt;&lt;br /&gt;
При  одинарном клике внутри ОПФ проявляется объект с набором параметров, установленными в свойствах объекта Effect, и параметров, определяемых частотой, силой кликов и координатами клика внутри ОПФ. Далее этот объект будем называть излучателем. [[Файл:Распространение_1.JPG|right|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
При одинарном клике  по ОПФ , излучатель направляет во все направления частицы при этом большая часть  частиц распространяется вдоль отрицательной оси У (вверх).  Чем дальше  частицы удаляются от центра излучателя , тем они становятся светлее. На рисунке отображена картинка, которую увидит игрок.&amp;lt;br&amp;gt; [[Файл:Распространение_2.JPG|right]]&amp;lt;br&amp;gt;&lt;br /&gt;
При наличии  2  и более излучателей, находящихся на достаточном малом расстоянии друг от друга, большая часть частиц излучателей будет распространяться по направленному отрезку, образованному двумя излучателями. На экране игрок увидит эффект как от движения ручки по бумаге. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При наличии на экране  2  и более излучателей,  удаленных друг от друга на достаточно большом расстоянии внутри ОПФ, частицы излучателя начинают взаимодействовать друг с другом.&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть  в области ОПФ есть  4 излучателя. На схеме цветными кружками отображены  излучатели, и цветными полями отображены направления распространения частиц излучателя. Пусть необходимо определить яркость частицы в точке Z. Не вдаваясь в математические вычисления, яркость частицы  в точке Z будет равна средневзвешенному значению яркости частиц, расположенных вблизи точки  Z. Все  частицы излучателя влияют на яркость соседних. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Точка_внутри_ОПФ.JPG|right|250px]]&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;
*при нажатии на кнопку мыши и начале движения в любую сторону внутри области эффект начнет вести себя как ручка по бумаге&lt;br /&gt;
*при резком отведении нажатой мышки к границе ОПФ в области , находящейся близко к границе ОПФ, создается несколько излучателей/&lt;br /&gt;
&lt;br /&gt;
[[Файл:Граница_ОПФ.JPG|right|175px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Взаимодействие с картинками эффекта ДЫМ==&lt;br /&gt;
Пусть Effect лежит поверх картинки. &amp;lt;br&amp;gt;&lt;br /&gt;
*После рассеивания всех частиц излучателей на картинке  проявится граница ОПФ. Для устранения  этого эффекта рекомендуется установить прозрачность объекту  Effect. &lt;br /&gt;
*При необходимости добавления эффекта в строго ограниченные не прямоугольной области, например, создание эффекта воды в озере,  необходимо области, на которых не должен проявляться эффект, &amp;quot;закрыть&amp;quot; фоном&lt;br /&gt;
*По умолчанию частица эффекта белого цвета. Есть возможность подгружать частицы любого размера.&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта ДЫМ==&lt;br /&gt;
'''Внимание! Параметры обьекта будут уточняться!'''&amp;lt;br&amp;gt;&lt;br /&gt;
===Свойства объекта Дым===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Название параметра на английском'''&lt;br /&gt;
|'''Названия параметра на русском'''&lt;br /&gt;
|'''Название параметра в xml'''&lt;br /&gt;
|'''Характеристика параметра'''&lt;br /&gt;
|'''Значение по умолчанию'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|частица&lt;br /&gt;
|smPart&lt;br /&gt;
|Ресурс частицы&lt;br /&gt;
|Цвет частицы  - белый&lt;br /&gt;
|-&lt;br /&gt;
|w&lt;br /&gt;
|Ширина распространения эффекта&lt;br /&gt;
|w&lt;br /&gt;
|Значения до 40. Увеличивает ширину излучения. Чем меньше значения, тем шире &lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|h&lt;br /&gt;
|Высота распространения эффекта&lt;br /&gt;
|h&lt;br /&gt;
|До 200. Чем больше значение, тем выше&lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|Velocity diffusion&lt;br /&gt;
|Скорость диффузии&lt;br /&gt;
|Vd &lt;br /&gt;
|Значение до 25. Больше скорость , больше температура&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Diffusion itterations&lt;br /&gt;
|Количество итераций диффузии&lt;br /&gt;
|di&lt;br /&gt;
|До 400&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure diffusion&lt;br /&gt;
|Давление диффузии&lt;br /&gt;
|pd&lt;br /&gt;
|Больше давление, больше частиц. Рекомендуется ставить до 10&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Ink diffusion&lt;br /&gt;
|Плотность газа&lt;br /&gt;
|id&lt;br /&gt;
|Плотность до 800&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction a&lt;br /&gt;
|Квадратичное замедление&lt;br /&gt;
|fva&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction b&lt;br /&gt;
|Линейное замедление&lt;br /&gt;
|fvb&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction c&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|fvc&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Vorticity&lt;br /&gt;
|Завихренность&lt;br /&gt;
|vort&lt;br /&gt;
|Чем больше значение, тем больше вихрей&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure acc&lt;br /&gt;
|Давление в точке &lt;br /&gt;
|pacc&lt;br /&gt;
|Создаются маленькие излучатели вокруг излучателя. Рекомендуется ставить значение до 50&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|ink heat&lt;br /&gt;
|плотность тепла ???&lt;br /&gt;
|ih&lt;br /&gt;
|Вертикально вниз падают частицы&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Heat force&lt;br /&gt;
|????&lt;br /&gt;
|hf&lt;br /&gt;
|Вертикальное падение частиц&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|Heat friction a&lt;br /&gt;
|Квадратичное трение &lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction b&lt;br /&gt;
|Линейное трение Б&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.2&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction с&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.01&lt;br /&gt;
|-&lt;br /&gt;
|Velocity advection&lt;br /&gt;
|Скорость адвекции&lt;br /&gt;
|va&lt;br /&gt;
|Скорость распространения&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Pressure advection&lt;br /&gt;
|Давление адвекци&lt;br /&gt;
|padv&lt;br /&gt;
|Параметр, влияющий на величину давления частиц&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Heat advection&lt;br /&gt;
|Температура адвекции&lt;br /&gt;
|ha&lt;br /&gt;
|Моделируемая температура, при которой распространяются частицы&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Важное замечание====&lt;br /&gt;
*Параметры Velocity friction a, Velocity friction b, Velocity friction c,Heat friction a,Heat friction b,Heat friction c позволяют управлять процессом распространения частиц по ОПФ. Хотя эффекты, создаваемые перечисленными параметрами можно получить с использованием других.&lt;br /&gt;
*Одновременное использование параметров групп Velocity friction или Heat friction  приведет к замедлению распространению частиц. Рекомендуется подбирать значения параметров очень аккуратно при условии, что параметр А &amp;gt;B&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
===Состояния эффекта ДЫМ===&lt;br /&gt;
В данной версии редактора состояний нет.&lt;br /&gt;
&lt;br /&gt;
===Параметры, записываемые в options.xml===&lt;br /&gt;
В данной версии редактора такие параметры отсутствуют&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Эффект AMBIENT WITH LIGHT=&lt;br /&gt;
&lt;br /&gt;
'''Параметры''' :&lt;br /&gt;
&lt;br /&gt;
*awl - Тип эффекта.&lt;br /&gt;
*tag - Номер эффекта.&lt;br /&gt;
&lt;br /&gt;
'''Состояния'''&lt;br /&gt;
&lt;br /&gt;
*awl_beg - Активировать эффект AmbientWithLight.&lt;br /&gt;
*awl_run - Эффект AmbientWithLight работает.&lt;br /&gt;
*awl_upd - Обновить параметры эффекта AmbientWithLight.&lt;br /&gt;
*awl_end - Деактивировать эффект AmbientWithLight.&lt;br /&gt;
&lt;br /&gt;
Замечание! По умолчанию AmbientWithLight находится в состоянии awl_end.&lt;br /&gt;
&lt;br /&gt;
'''Примеры подборки коэффициентов:'''&lt;br /&gt;
&lt;br /&gt;
Стартовая картинка:&lt;br /&gt;
&lt;br /&gt;
[[Файл:awl_start.png]]&lt;br /&gt;
 &lt;br /&gt;
'''''1) Картинка перекрашивается в темно-синий цвет. Эффект ночи.''''' [[Файл:awl_blue.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;0.1, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
g=&amp;quot;0.0, 0.1, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
b=&amp;quot;0.0, 0.0, 0.5, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2) Цветной негатив.''''' [[Файл:awl_c_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;0.0, -1.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;0.0, 0.0, -1.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''3) Черно-белая сепия.''''' [[Файл:awl_dw.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''4) Черно-белый негатив.''''' [[Файл:awl_dw_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример подключения эффекта AmbientWithLight:'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Effect_awl.png]]&lt;br /&gt;
&lt;br /&gt;
=Пример использования обьекта  Effect=&lt;br /&gt;
Примеры эффектов создаваемых с использованием обьекта  Effect расположены по ссылке. В проекте 28 экранов, на каждом из которых расположен один пример эффекта с описанием применяемых параметров.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Пример_экрана_с_эффектом.JPG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Перекрашивание графики ==&lt;br /&gt;
Для начала - перекрашиваемая графика должна быть максимально осветлённая ( чтобы точнее перекрасить цвет, чем темнее графика - тех меньше будет влиять перекрашивание).&lt;br /&gt;
&lt;br /&gt;
Имеем графику:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bg seryj copy.png|430px]]&lt;br /&gt;
&lt;br /&gt;
Далее, производим махинации - узнаём при помощи пипетки ( Photoshop ) цвет эталлоного пикселя ( один и тот же пиксель, на нужной и на осветлённой графиках).&lt;br /&gt;
Заносим полученные значения RGB каналов в таблицу, и для каждого канала узнаём процент цвета ( делим нужный цвет на эталонный).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Colors.ods - LibreOffice Calc.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Полученные % используем в объекте effect:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Splitmanager_setup_awl_6.jpg|460px]]&lt;br /&gt;
&lt;br /&gt;
Далее всё по обычному - указываем тип эффекта awl, указываем номер эффекта и передаём сост. &amp;quot;awl_beg&amp;quot;, результат:&lt;br /&gt;
[[Файл:66c7052ca8.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=TimeLineFX эффекты=&lt;br /&gt;
TimeLineFX эффекты - эффекты, которые создаются с помощью TimeLineFX редактора или из готовых шаблонов.&lt;br /&gt;
&lt;br /&gt;
==Описание эффекта==&lt;br /&gt;
Перед запуском TimeLineFX эффекта нужно записать в объект effect параметры '''eftype''' = particle, '''eftag''' = N (N - номер тега эффекта).&lt;br /&gt;
&lt;br /&gt;
Для запуска эффекта необходимо передать объекту effect состояние '''particle_beg'''.&lt;br /&gt;
&lt;br /&gt;
Для остановки эффекта необходимо передать объекту effect состояние '''particle_end'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример запуска эффекта через машину состояний показан ниже.&lt;br /&gt;
&lt;br /&gt;
[[Файл:TimeLineFXstates.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для добавления нового эффекта, в настройках объекта effect используем кнопку '''&amp;quot;Import Effect&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
В открытом окне выбираем нужную нам библиотеку эффектов формата .eff.&lt;br /&gt;
&lt;br /&gt;
В качестве эффектов можно добавлять готовые шаблоны из предложенных на сайте https://www.rigzsoft.co.uk/download-timelinefx/ или любых других источников.&lt;br /&gt;
&lt;br /&gt;
Также эффекты можно модифицировать или создавать свои через TimeLineFX редактор.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После импорта эффекта он появится в табличке с параметрами:&lt;br /&gt;
&lt;br /&gt;
'''NAME''' - имя эффекта. Берется из импортированной библиотеки, можно менять.&lt;br /&gt;
&lt;br /&gt;
'''tag''' - номер тега эффекта, по которому будем его запускать.&lt;br /&gt;
&lt;br /&gt;
'''tlfx''' - все параметры эффекта&lt;br /&gt;
&lt;br /&gt;
'''resids''' - айдишники ресурсов, используемых эффектом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Нажав на кнопку с глазом возле &amp;quot;Import Effect&amp;quot; откроется окно предварительного просмотра эффекта.&lt;br /&gt;
&lt;br /&gt;
==TimeLineFX редактор==&lt;br /&gt;
Готовые скачанные шаблоны эффектов можно модифицировать с помощью TimeLineFX редактора (при этом их желательно урезать и уменьшать, так как часто в них используется слишком много ресурсов).&lt;br /&gt;
&lt;br /&gt;
Также можно создавать совершенно новые свои эффекты.&lt;br /&gt;
&lt;br /&gt;
В самом редакторе '''ОЧЕНЬ''' много возможностей и настроек для эффектов.&lt;br /&gt;
&lt;br /&gt;
Подробно ознакомиться с документацией редактора можно по ссылке:&lt;br /&gt;
&lt;br /&gt;
https://www.rigzsoft.co.uk/timelinefx-help/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После создания / модификаций эффекта сохраняем его в формате .eff и импортируем в объект effect в редакторе или просто сохраняем в случае открытия редактора для модификации уже импортированного эффекта через объект effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/effect.rar Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9580</id>
		<title>Effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Effect&amp;diff=9580"/>
		<updated>2018-06-15T08:00:00Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Effect   - [[Object|объект]] редактора, предназначенный для создания различных визуальных эффектов, которые визуализируется (проявляются) в зависимости от частоты кликов пользователя по заданной  области проявления  эффекта. &amp;lt;br&amp;gt;&lt;br /&gt;
Обьект  Effect расположен в Main objects&amp;lt;br&amp;gt;&lt;br /&gt;
'''Важное замечание!'''&amp;lt;br&amp;gt;&lt;br /&gt;
Эффект БЛЮР и ДЫМ не могут быть вызваны одним экземляром класса Effect&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Эффект БЛЮР=&lt;br /&gt;
Эффект блюр позволяет создавать дребезжание объекта. Например, раздвоение объекта.&lt;br /&gt;
==Механизм работы эффекта БЛЮР==&lt;br /&gt;
Ситуация:&lt;br /&gt;
Пользователю необходимо отключить звенящий будильник. Пользователь на экране видит дребезжащий будильник. По клику на будильник дребезжание будильника прекращается. &amp;lt;br&amp;gt;&lt;br /&gt;
Порядок действий:&amp;lt;br&amp;gt;&lt;br /&gt;
* На сцене размещаем машину состояний с графическим ресурсом будильника. Назовем ее  БУД. Обработка клика на машину состояний стандартная.&lt;br /&gt;
* На сцене размещаем объект Effect. Положение объекта Effect должно полностью совпадать с положением машины состояний БУД!&lt;br /&gt;
* Свойству Объект эффекта БЛЮР устанавливаем значение машину состояний БУД. Значения других свойств эффекта БЛЮР оставляем стандартными.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта Блюр==&lt;br /&gt;
===Свойства объекта Блюр===&lt;br /&gt;
*Объект (obj) - Объект, к которому будет применен эффект блюр.&lt;br /&gt;
*Продолжительность (tm) - продолжительность эффекта. По умолчанию 4000.&lt;br /&gt;
*Отклонение (dev)-. Чем больше отклонение, тем больше &amp;quot;отскакивает&amp;quot; в разные стороны от центра объекта По умолчанию 10. При задании значений больше 90 объект &amp;quot;скачет&amp;quot; по диагонали.&lt;br /&gt;
*Скорость (vel) -Скорость &amp;quot;дрожания&amp;quot;  объекта. По умолчанию  1000.&lt;br /&gt;
*Прозрачность (al) - По умолчанию 0.5.&lt;br /&gt;
&lt;br /&gt;
===Состояния===&lt;br /&gt;
*beg - включить проявление Блюра&lt;br /&gt;
*end - остановить проявление Блюра&lt;br /&gt;
'''Замечание!''' По умолчанию Блюр находится в состоянии end&lt;br /&gt;
=Эффект ДЫМ=&lt;br /&gt;
==Физическое объяснение работы эффекта ДЫМ==&lt;br /&gt;
Область проявления эффекта(ОПФ) — строго ограничена. (В данной версии редактора область только прямоугольная).ОПФ является непрерывной поверхностью и находится в ожидании клика пользователя.&amp;lt;br&amp;gt;&lt;br /&gt;
При  одинарном клике внутри ОПФ проявляется объект с набором параметров, установленными в свойствах объекта Effect, и параметров, определяемых частотой, силой кликов и координатами клика внутри ОПФ. Далее этот объект будем называть излучателем. [[Файл:Распространение_1.JPG|right|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
При одинарном клике  по ОПФ , излучатель направляет во все направления частицы при этом большая часть  частиц распространяется вдоль отрицательной оси У (вверх).  Чем дальше  частицы удаляются от центра излучателя , тем они становятся светлее. На рисунке отображена картинка, которую увидит игрок.&amp;lt;br&amp;gt; [[Файл:Распространение_2.JPG|right]]&amp;lt;br&amp;gt;&lt;br /&gt;
При наличии  2  и более излучателей, находящихся на достаточном малом расстоянии друг от друга, большая часть частиц излучателей будет распространяться по направленному отрезку, образованному двумя излучателями. На экране игрок увидит эффект как от движения ручки по бумаге. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При наличии на экране  2  и более излучателей,  удаленных друг от друга на достаточно большом расстоянии внутри ОПФ, частицы излучателя начинают взаимодействовать друг с другом.&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть  в области ОПФ есть  4 излучателя. На схеме цветными кружками отображены  излучатели, и цветными полями отображены направления распространения частиц излучателя. Пусть необходимо определить яркость частицы в точке Z. Не вдаваясь в математические вычисления, яркость частицы  в точке Z будет равна средневзвешенному значению яркости частиц, расположенных вблизи точки  Z. Все  частицы излучателя влияют на яркость соседних. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Точка_внутри_ОПФ.JPG|right|250px]]&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;
*при нажатии на кнопку мыши и начале движения в любую сторону внутри области эффект начнет вести себя как ручка по бумаге&lt;br /&gt;
*при резком отведении нажатой мышки к границе ОПФ в области , находящейся близко к границе ОПФ, создается несколько излучателей/&lt;br /&gt;
&lt;br /&gt;
[[Файл:Граница_ОПФ.JPG|right|175px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Взаимодействие с картинками эффекта ДЫМ==&lt;br /&gt;
Пусть Effect лежит поверх картинки. &amp;lt;br&amp;gt;&lt;br /&gt;
*После рассеивания всех частиц излучателей на картинке  проявится граница ОПФ. Для устранения  этого эффекта рекомендуется установить прозрачность объекту  Effect. &lt;br /&gt;
*При необходимости добавления эффекта в строго ограниченные не прямоугольной области, например, создание эффекта воды в озере,  необходимо области, на которых не должен проявляться эффект, &amp;quot;закрыть&amp;quot; фоном&lt;br /&gt;
*По умолчанию частица эффекта белого цвета. Есть возможность подгружать частицы любого размера.&lt;br /&gt;
&lt;br /&gt;
==Параметры эффекта ДЫМ==&lt;br /&gt;
'''Внимание! Параметры обьекта будут уточняться!'''&amp;lt;br&amp;gt;&lt;br /&gt;
===Свойства объекта Дым===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Название параметра на английском'''&lt;br /&gt;
|'''Названия параметра на русском'''&lt;br /&gt;
|'''Название параметра в xml'''&lt;br /&gt;
|'''Характеристика параметра'''&lt;br /&gt;
|'''Значение по умолчанию'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|частица&lt;br /&gt;
|smPart&lt;br /&gt;
|Ресурс частицы&lt;br /&gt;
|Цвет частицы  - белый&lt;br /&gt;
|-&lt;br /&gt;
|w&lt;br /&gt;
|Ширина распространения эффекта&lt;br /&gt;
|w&lt;br /&gt;
|Значения до 40. Увеличивает ширину излучения. Чем меньше значения, тем шире &lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|h&lt;br /&gt;
|Высота распространения эффекта&lt;br /&gt;
|h&lt;br /&gt;
|До 200. Чем больше значение, тем выше&lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|Velocity diffusion&lt;br /&gt;
|Скорость диффузии&lt;br /&gt;
|Vd &lt;br /&gt;
|Значение до 25. Больше скорость , больше температура&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Diffusion itterations&lt;br /&gt;
|Количество итераций диффузии&lt;br /&gt;
|di&lt;br /&gt;
|До 400&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure diffusion&lt;br /&gt;
|Давление диффузии&lt;br /&gt;
|pd&lt;br /&gt;
|Больше давление, больше частиц. Рекомендуется ставить до 10&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Ink diffusion&lt;br /&gt;
|Плотность газа&lt;br /&gt;
|id&lt;br /&gt;
|Плотность до 800&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction a&lt;br /&gt;
|Квадратичное замедление&lt;br /&gt;
|fva&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction b&lt;br /&gt;
|Линейное замедление&lt;br /&gt;
|fvb&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Velocity friction c&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|fvc&lt;br /&gt;
|Замедление распространения частиц. &lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Vorticity&lt;br /&gt;
|Завихренность&lt;br /&gt;
|vort&lt;br /&gt;
|Чем больше значение, тем больше вихрей&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Pressure acc&lt;br /&gt;
|Давление в точке &lt;br /&gt;
|pacc&lt;br /&gt;
|Создаются маленькие излучатели вокруг излучателя. Рекомендуется ставить значение до 50&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|ink heat&lt;br /&gt;
|плотность тепла ???&lt;br /&gt;
|ih&lt;br /&gt;
|Вертикально вниз падают частицы&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Heat force&lt;br /&gt;
|????&lt;br /&gt;
|hf&lt;br /&gt;
|Вертикальное падение частиц&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|Heat friction a&lt;br /&gt;
|Квадратичное трение &lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction b&lt;br /&gt;
|Линейное трение Б&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.2&lt;br /&gt;
|-&lt;br /&gt;
||Heat friction с&lt;br /&gt;
|Изменение скорости  на заданную величину&lt;br /&gt;
|hfa&lt;br /&gt;
|&lt;br /&gt;
|0.01&lt;br /&gt;
|-&lt;br /&gt;
|Velocity advection&lt;br /&gt;
|Скорость адвекции&lt;br /&gt;
|va&lt;br /&gt;
|Скорость распространения&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Pressure advection&lt;br /&gt;
|Давление адвекци&lt;br /&gt;
|padv&lt;br /&gt;
|Параметр, влияющий на величину давления частиц&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|Heat advection&lt;br /&gt;
|Температура адвекции&lt;br /&gt;
|ha&lt;br /&gt;
|Моделируемая температура, при которой распространяются частицы&lt;br /&gt;
|150&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Важное замечание====&lt;br /&gt;
*Параметры Velocity friction a, Velocity friction b, Velocity friction c,Heat friction a,Heat friction b,Heat friction c позволяют управлять процессом распространения частиц по ОПФ. Хотя эффекты, создаваемые перечисленными параметрами можно получить с использованием других.&lt;br /&gt;
*Одновременное использование параметров групп Velocity friction или Heat friction  приведет к замедлению распространению частиц. Рекомендуется подбирать значения параметров очень аккуратно при условии, что параметр А &amp;gt;B&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
===Состояния эффекта ДЫМ===&lt;br /&gt;
В данной версии редактора состояний нет.&lt;br /&gt;
&lt;br /&gt;
===Параметры, записываемые в options.xml===&lt;br /&gt;
В данной версии редактора такие параметры отсутствуют&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Эффект AMBIENT WITH LIGHT=&lt;br /&gt;
&lt;br /&gt;
'''Параметры''' :&lt;br /&gt;
&lt;br /&gt;
*awl - Тип эффекта.&lt;br /&gt;
*tag - Номер эффекта.&lt;br /&gt;
&lt;br /&gt;
'''Состояния'''&lt;br /&gt;
&lt;br /&gt;
*awl_beg - Активировать эффект AmbientWithLight.&lt;br /&gt;
*awl_run - Эффект AmbientWithLight работает.&lt;br /&gt;
*awl_upd - Обновить параметры эффекта AmbientWithLight.&lt;br /&gt;
*awl_end - Деактивировать эффект AmbientWithLight.&lt;br /&gt;
&lt;br /&gt;
Замечание! По умолчанию AmbientWithLight находится в состоянии awl_end.&lt;br /&gt;
&lt;br /&gt;
'''Примеры подборки коэффициентов:'''&lt;br /&gt;
&lt;br /&gt;
Стартовая картинка:&lt;br /&gt;
&lt;br /&gt;
[[Файл:awl_start.png]]&lt;br /&gt;
 &lt;br /&gt;
'''''1) Картинка перекрашивается в темно-синий цвет. Эффект ночи.''''' [[Файл:awl_blue.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;0.1, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
g=&amp;quot;0.0, 0.1, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt; &lt;br /&gt;
b=&amp;quot;0.0, 0.0, 0.5, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2) Цветной негатив.''''' [[Файл:awl_c_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;0.0, -1.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;0.0, 0.0, -1.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''3) Черно-белая сепия.''''' [[Файл:awl_dw.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;1.0, 0.0, 0.0, 0.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''4) Черно-белый негатив.''''' [[Файл:awl_dw_neg.png|right]]&lt;br /&gt;
&lt;br /&gt;
r=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
g=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
b=&amp;quot;-1.0, 0.0, 0.0, 1.0&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример подключения эффекта AmbientWithLight:'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Effect_awl.png]]&lt;br /&gt;
&lt;br /&gt;
=Пример использования обьекта  Effect=&lt;br /&gt;
Примеры эффектов создаваемых с использованием обьекта  Effect расположены по ссылке. В проекте 28 экранов, на каждом из которых расположен один пример эффекта с описанием применяемых параметров.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:Пример_экрана_с_эффектом.JPG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Перекрашивание графики ==&lt;br /&gt;
Для начала - перекрашиваемая графика должна быть максимально осветлённая ( чтобы точнее перекрасить цвет, чем темнее графика - тех меньше будет влиять перекрашивание).&lt;br /&gt;
&lt;br /&gt;
Имеем графику:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bg seryj copy.png|430px]]&lt;br /&gt;
&lt;br /&gt;
Далее, производим махинации - узнаём при помощи пипетки ( Photoshop ) цвет эталлоного пикселя ( один и тот же пиксель, на нужной и на осветлённой графиках).&lt;br /&gt;
Заносим полученные значения RGB каналов в таблицу, и для каждого канала узнаём процент цвета ( делим нужный цвет на эталонный).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Colors.ods - LibreOffice Calc.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Полученные % используем в объекте effect:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Splitmanager_setup_awl_6.jpg|460px]]&lt;br /&gt;
&lt;br /&gt;
Далее всё по обычному - указываем тип эффекта awl, указываем номер эффекта и передаём сост. &amp;quot;awl_beg&amp;quot;, результат:&lt;br /&gt;
[[Файл:66c7052ca8.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=TimeLineFX эффекты=&lt;br /&gt;
TimeLineFX эффекты - эффекты, которые создаются с помощью TimeLineFX редактора или из готовых шаблонов.&lt;br /&gt;
&lt;br /&gt;
==Описание эффекта==&lt;br /&gt;
Перед запуском TimeLineFX эффекта нужно записать в объект effect параметры eftype = particle, eftag = N (N - номер тега эффекта).&lt;br /&gt;
&lt;br /&gt;
Для запуска эффекта необходимо передать объекту effect состояние particle_beg.&lt;br /&gt;
&lt;br /&gt;
Для остановки эффекта необходимо передать объекту effect состояние particle_end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример запуска эффекта через машину состояний показан ниже.&lt;br /&gt;
&lt;br /&gt;
[[Файл:TimeLineFXstates.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для добавления нового эффекта, в настройках объекта effect используем кнопку &amp;quot;Import Effect&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
В открытом окне выбираем нужную нам библиотеку эффектов формата .eff.&lt;br /&gt;
&lt;br /&gt;
В качестве эффектов можно добавлять готовые шаблоны из предложенных на сайте https://www.rigzsoft.co.uk/download-timelinefx/ или любых других источников.&lt;br /&gt;
&lt;br /&gt;
Также эффекты можно модифицировать или создавать свои через TimeLineFX редактор.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После импорта эффекта он появится в табличке с параметрами:&lt;br /&gt;
&lt;br /&gt;
NAME - имя эффекта. Берется из импортированной библиотеки, можно менять.&lt;br /&gt;
&lt;br /&gt;
tag - номер тега эффекта, по которому будем его запускать.&lt;br /&gt;
&lt;br /&gt;
tlfx - все параметры эффекта&lt;br /&gt;
&lt;br /&gt;
resids - айдишники ресурсов, используемых эффектом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Нажав на кнопку с глазом возле &amp;quot;Import Effect&amp;quot; откроется окно предварительного просмотра эффекта.&lt;br /&gt;
&lt;br /&gt;
==TimeLineFX редактор==&lt;br /&gt;
Готовые скачанные шаблоны эффектов можно модифицировать с помощью TimeLineFX редактора (при этом их желательно урезать и уменьшать, так как часто в них используется слишком много ресурсов).&lt;br /&gt;
&lt;br /&gt;
Также можно создавать совершенно новые свои эффекты.&lt;br /&gt;
&lt;br /&gt;
В самом редакторе ОЧЕНЬ много возможностей и настроек для эффектов.&lt;br /&gt;
&lt;br /&gt;
Подробно ознакомиться с документацией редактора можно по ссылке:&lt;br /&gt;
&lt;br /&gt;
https://www.rigzsoft.co.uk/timelinefx-help/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После создания / модификаций эффекта сохраняем его в формате .eff и импортируем в объект effect в редакторе или просто сохраняем в случае открытия редактора для модификации уже импортированного эффекта через объект effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/effect.rar Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:TimeLineFXstates.jpg&amp;diff=9579</id>
		<title>Файл:TimeLineFXstates.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:TimeLineFXstates.jpg&amp;diff=9579"/>
		<updated>2018-06-15T07:58:08Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:TimeLineFX_states.png&amp;diff=9578</id>
		<title>Файл:TimeLineFX states.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:TimeLineFX_states.png&amp;diff=9578"/>
		<updated>2018-06-15T07:23:00Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Machine&amp;diff=9525</id>
		<title>Machine</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Machine&amp;diff=9525"/>
		<updated>2018-05-10T09:37:05Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Системные действия */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
[[Machine]] - [[Object|объект]] '''машина состояний''' (state machine) позволяет описывать сложное поведение игровых объектов. Для машин с типовым набором состояний и поведений вводятся отдельные типы объектов. Например, кнопка, по своей сути, является машиной состояний.&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
Логика поведения машины разбивается на отдельные узлы (состояния). Машина всегда находится строго в одном состоянии. Переход из одного состояния в другое происходит либо в результате внешнего воздействия на машину, либо в результате окончания некоторых процессов протекающих внутри неё&lt;br /&gt;
&lt;br /&gt;
Любая машина состояний может быть изображена в виде графа с кружочками и стрелками. У машины всегда активно строго одно состояние (ниже это изображено на левом рисунке темным кружком):&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:def_states.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Машина состояний не обладает памятью. Это означает, что для анализа того, что произойдет в данном состоянии, неважно как мы в него попали, и какова была предыстория переходов. Важно, только, что мы находимся в этом состоянии. Такое отсутствие памяти упрощает анализ логики машины, так как каждый раз мы концентрируемся на одном конкретном состоянии, а всю логику работы разбиваем на отдельные кирпичики-состояния.&lt;br /&gt;
&lt;br /&gt;
Выше на правом рисунке изображено некоторое состояние. При входе в него, происходит инициализация состояния. Если на объект оказываются внешние воздействия, то он может покинуть состояние. Наконец, внутри состояния могут работать различные процессы.&lt;br /&gt;
&lt;br /&gt;
Все команды состояния, разбиваются на три группы:&lt;br /&gt;
* '''[[#Инициализация|Инициализация]]''':&lt;br /&gt;
** '''[[#draw|draw]]''' - установка графического ресурса;&lt;br /&gt;
** '''[[#init|init]]''' - инициализация параметров машины (координаты и т.п.);&lt;br /&gt;
** '''[[#set|set]]''' - установка состояния другого объекта;&lt;br /&gt;
** '''[[#play|play]]''' - проиграть звук;&lt;br /&gt;
** '''[[#var|var]]''' - переменная, которой присваивается значение параметра объекта;&lt;br /&gt;
** '''[[#buy|buy]]''' - запуск процедуры in-app покупки;&lt;br /&gt;
** '''[[#download|download]]''' - запуск процедуры закачки контента.&lt;br /&gt;
* '''[[#Процессы|Процессы]]''':&lt;br /&gt;
** '''[[#wait|wait]]''' - задержка по времени;&lt;br /&gt;
** '''[[#move|move]]''' - равномерное движение;&lt;br /&gt;
** '''[[#rot|rot]]''' - вращение вокруг точки пивота;&lt;br /&gt;
** '''[[#alpha|alpha]]''' - изменение прозрачности;&lt;br /&gt;
** '''[[#scale|scale]]''' - изменение размера;&lt;br /&gt;
** '''[[#phys|phys]]''' - ускоренное движение;&lt;br /&gt;
** '''[[#rgb|rgb]]''' - изменить rgb-каналы;&lt;br /&gt;
** '''[[#spline|spline]]''' - движение по сплайну (по кривой).&lt;br /&gt;
* '''[[#Воздействия|Воздействия]]''':&lt;br /&gt;
** '''[[#click|click]]''' - что делать при клике на машине;&lt;br /&gt;
** '''[[#drop|drop]]''' - на машине отпущена клавиша мыши;&lt;br /&gt;
** '''[[#drag|drag]]''' - машину схватили и тащат;&lt;br /&gt;
** '''[[#throw|throw]]''' - машину схватили и кинули;&lt;br /&gt;
** '''[[#apply|apply]]''' - сработает при пересечении машины с линией или объектом;&lt;br /&gt;
** '''[[#touch_in|touch_in]]''' - наведение мыши/пальца на машину, если палец &amp;quot;тащат&amp;quot; по экрану;&lt;br /&gt;
** '''[[#touch_out|touch_out]]''' - выведение мыши из машины, если палец &amp;quot;тащат&amp;quot; по экрану;&lt;br /&gt;
** '''[[#touch_up|touch_up]]''' - отжатие мыши от машины;&lt;br /&gt;
** '''[[#tap|tap]]''' - умный тач;&lt;br /&gt;
** '''[[#mouse_in|mouse_in]]''' - наведение мыши на машину даже если не нажата кнопка мыши;&lt;br /&gt;
** '''[[#mouse_out|mouse_out]]''' - выведение мыши из машины даже если не нажата кнопка мыши.&lt;br /&gt;
&lt;br /&gt;
Кроме этого, есть команда '''[[#if|if]]''', вызываемая другими командами. В ней описываются некоторые логические условия, выполнение которых говорит команде (которая вызвала этот '''if'''), что можно завершать работу. Для разных команд использование этого параметра несколько '''отличается'''!&lt;br /&gt;
&lt;br /&gt;
Начальные понятия и методы работы с машинами состояний находятся в [[Learning|уроках]],&lt;br /&gt;
начиная с [[Checkbox как машина состояний|третьего]].&lt;br /&gt;
&lt;br /&gt;
== Свойства ==&lt;br /&gt;
&lt;br /&gt;
Общие для всех объектов свойства описаны в документе [[Object|Object]].&lt;br /&gt;
Дополнительные свойства:&lt;br /&gt;
&lt;br /&gt;
* '''в опции''' - да - машина будет сохранять свое состояние в опции и при следующей инициализации инициал-ся не в первом состоянии, а в состоянии, записанном в опциях.&lt;br /&gt;
* '''Состояние''' - Состояние в котором будет находиться машина при инициализации. Если ничего не указано - первое состояние в списке состояний.&lt;br /&gt;
* '''Хранить нажатость''' - нужно ли сбрасывать нажатость при изменении состояния.&lt;br /&gt;
* '''res''' - графический ресурс машины. Может отсутствовать. Перетягивается из редактора ресурсов(поле должно быть в состоянии редактирования).&lt;br /&gt;
* '''states''' - По двойному клику, или по нажатию на кнопку с тремя точками открывается список состояний.&lt;br /&gt;
* '''отладка''' - Отображать в окне состояний текущий объект.&lt;br /&gt;
* '''курсор''' - Графический ресурс курсора текущего и всех дочерних объектов.&lt;br /&gt;
* '''прокликиваемая''' - 0 - машина не пропускает клик, 1 - машина пропускает клик, 2 - машина обрабатывает клик и пропускает его дальше.&lt;br /&gt;
&lt;br /&gt;
== Инициализация ==&lt;br /&gt;
&lt;br /&gt;
При попадании в состояние, сразу выполняются команды инициализации init, draw, set, buy, var. Если в этих командах нет параметра break, они все выполняются до запуска процессов. Параметр break (со значением 1) прерывает выполнение команд инициализации данного типа. Их можно перезапустить по окончанию команд процессов.&lt;br /&gt;
&lt;br /&gt;
'''''Замечание.''''' По возможности, нужно избегать передачи значений другим объектам, в начальном состоянии машины, так как такие команды будут выполнятся даже тогда, когда машина будет выключена на визуальной сцене.&lt;br /&gt;
&lt;br /&gt;
=== draw ===&lt;br /&gt;
&lt;br /&gt;
Команда определяет графический ресурс (картинку, которую надо рисовать в данном состоянии). Её параметры:&lt;br /&gt;
&lt;br /&gt;
* '''res''' - ресурс картинки (перетаскивается из редактора ресурсов);&lt;br /&gt;
* '''f''' - начальный кадр;&lt;br /&gt;
* '''ft''' - длительность кадра в миллисекундах;&lt;br /&gt;
* '''loop''' - число повторов (зацикливаний анимации); если -1, то бесконечно; отсутствует или 0 - будет проигран один раз;&lt;br /&gt;
* '''rev''' - играть анимацию в обратном порядке; 0 - прямой порядок проигрывания, 1 - обратный порядок проигрывания;&lt;br /&gt;
* '''go''' - перейти в состояние;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] для условия перехода; можно использовать логические операторы (см. [[#if|if]]);&lt;br /&gt;
* '''break''' - прервать команды.&lt;br /&gt;
&lt;br /&gt;
Пустая команда draw (без параметров) &amp;quot;сбрасывает&amp;quot; текущую картинку и в этом состоянии ничего рисоваться не будет. Если в общих параметрах объекта (в базовой панеле свойств) задан ресурс рисования, и он во всех состояниях одинаков, то его можно в состоянии не задавать.&lt;br /&gt;
&lt;br /&gt;
Если параметра loop нет, кадры анимации проиграются один раз. Чтобы зациклить их, необходимо установить loop=-1 или нужное число раз. Аналогично параметру loop других команд, первый раз draw выполняется в любом случае. Дальнейшие её повторы определяются значением loop. Однако, в отличие от других команд, loop повторяет только '''данную''' команду draw (даже если она не первая).&lt;br /&gt;
Для работы loop '''необходимо''' чтобы в редакторе ресурсов в настройках анимации '''было отключено''' зацикливание(looped).&lt;br /&gt;
&amp;lt;br&amp;gt;Если есть анимация открывающейся и закрывающейся книги (коробки, двери и т.д.) не обязательно подгружать в проект две анимации, можно использовать одну, но запускать ее в обратном порядке, для этого есть параметр '''rev'''.&lt;br /&gt;
&lt;br /&gt;
=== init ===&lt;br /&gt;
&lt;br /&gt;
====Параметры объекта====&lt;br /&gt;
&lt;br /&gt;
* '''x''','''y''' - координата точки пивота относительно сцены или родительского объекта;&lt;br /&gt;
* '''ang''' - угол поворота в градусах; отчитывается вниз от оси x, или вверх, если отрицательный;&lt;br /&gt;
* '''al''' - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен);&lt;br /&gt;
* '''sx''','''sy''' - масштаб машины по осям (если 1, то это исходный размер; 0.5 - в два раза меньше);&lt;br /&gt;
* '''vis''' - видимость - видимость машины (1 - видима, 0 - невидима), если vis = 0, это равноценно отключению объекта в редакторе;&lt;br /&gt;
* '''z координата''' - координата машины по z.&lt;br /&gt;
* '''z приращение''' - приращение координаты машины по z относительно текущего&lt;br /&gt;
* '''прокликиваемая''' - если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то клик обрабатывается, но передается дальше;&lt;br /&gt;
&lt;br /&gt;
====Параметры движения====&lt;br /&gt;
&lt;br /&gt;
* '''v''' - скорость для команды move&lt;br /&gt;
* '''vr''' - угловая скорость для команды rot&lt;br /&gt;
* '''vx''','''vy''' - начальная скорость для команды phys&lt;br /&gt;
* '''ax''','''ay''' - ускорение для команды phys&lt;br /&gt;
&lt;br /&gt;
====Системные действия====&lt;br /&gt;
&lt;br /&gt;
* '''показать рейтинг''' - значение 1 означает, что при выполнении этого инита будет показано окно iOS рейтинга.&lt;br /&gt;
Если на девайсе была нажата кнопка &amp;quot;отрейтинговать&amp;quot;, то в опции запишется параметр rating значение 1, если нажата кнопка &amp;quot;позже&amp;quot; - rating 2, &amp;quot;никогда&amp;quot; - rating 3.&lt;br /&gt;
* '''закрыть приложение''' - значение 1 означает, что при выполнении этого инита приложение будет закрыто.&lt;br /&gt;
* '''перезагрузить лэйаут''' - значение 1 означает, что при выполнении этого инита будет перезагружен лэйаут.&lt;br /&gt;
* '''вернуться назад''' - начение 1 означает, что при выполнении этого инита произойдет возврат на предыдущий экран.&lt;br /&gt;
* '''реклама AdMob''' - 1 - показать, 0 - спрятать, -1 - не изменять состояние.&lt;br /&gt;
* '''курсор''' - меняет текущий курсор мыши на указанный графический ресурс. Перетягивается из редактора ресурсов, поле должно быть в состоянии редактирования.&lt;br /&gt;
* '''id внешней ссылки в текстовой базе''' - Ссыслка будет взята из текстовой базы в соответствии с текущим маркетом.&lt;br /&gt;
* '''[[#Clone|clone]]''' - Значение 1 означает, что в текущем местоположении машины будет создана ее копия, 2 - удалить все клоны, созданные данной машиной, 3 - удалить себя, если клон&lt;br /&gt;
&lt;br /&gt;
====Переходы и параметры выполнения====&lt;br /&gt;
&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] для условия выполнения; можно использовать логические операторы (см. [[#if|if]]);&lt;br /&gt;
* '''break''' - прервать команды.&lt;br /&gt;
&lt;br /&gt;
Так же, как и при инициализации картинки ('''draw'''), вызов команды ('''init''') переопределяет только те параметры, которые в ней указаны. Остальные параметры (заданные в других состояниях или в общих свойствах объекта) остаются без изменений&lt;br /&gt;
&lt;br /&gt;
=== set ===&lt;br /&gt;
&lt;br /&gt;
Перевод другого объекта в некоторое состояние или изменение его параметров.&lt;br /&gt;
&lt;br /&gt;
* '''obj''' - изменяемый объект (выбирается из списка объектов). В значении объекта можно указать this, это значит что машина сама себе пропишет какой то параметр или состояние.&lt;br /&gt;
* '''scr_param''' - глобальный либо текущий экран, параметры которого меняем.&lt;br /&gt;
* '''scr_state''' - экран, состояние которого меняем.&lt;br /&gt;
* '''parent''' - Объект, который будет установлен в качестве родителя объекту из obj. Объект obj будет оторван от текущего своего родителя и добавлен в детей объекта parent. При этом у obj сбивается значение Z. Если оно должно быть отличным от нуля, то нужно установить заново после смены родителя.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''st''' - состояние в которое переводится объект.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''par''' - параметр объекта для установки, используется вместе с val, val_obj, val_txt, val_scr,val_vid,val_res,val_node.&lt;br /&gt;
* '''mSt''' - Состояние машины в котором будем изменять параметр команды.&lt;br /&gt;
* '''mCmd''' - Имя команды, параметр которой меняем.&lt;br /&gt;
* '''mCmdN''' - Порядковый номер в перечне одноименных команд состояния.&lt;br /&gt;
* '''mPar''' - Установить этот параметр команды в значение val.&lt;br /&gt;
* '''val_obj''' - id объекта, будет записано в в par&lt;br /&gt;
* '''val_txt''' - id текста, будет записано в в par(параметр для текстов &amp;quot;txtID&amp;quot;)&lt;br /&gt;
* '''val_vid''' - id video, будет записано в par(параметр для видео &amp;quot;video&amp;quot; - RGB, &amp;quot;videoA&amp;quot; - Alpha)&lt;br /&gt;
* '''val_scr''' - id экрана, будет записано в в par&lt;br /&gt;
* '''val_res''' - Новое значение графического ресурса (перетаскивается из редактора ресурсов). (пока не работает)&lt;br /&gt;
* '''val_node''' - Новое нода графа (выбирается из списка, при заданном объекте)&lt;br /&gt;
* '''val''' - значение параметра объекта для установки&lt;br /&gt;
* '''var''' - имя переменной данной машины, значение которой присваивается в параметр par  объекта obj&lt;br /&gt;
* '''round''' - округлить значение, записываемое в val&amp;lt;br&amp;gt;&lt;br /&gt;
* '''position''' - объект указанный в поле '''obj''' будет отпозиционирован относительно указанного объекта в этом поле ( можно одновременно и задавать состояние '''st''' в которое перевести объект ( поле obj ) );  &lt;br /&gt;
* '''pos_dx''' - смещение по оси X от точки пивоты объекта из поля выше ( если это поле не указывать, смещение будет = 0 );&lt;br /&gt;
* '''pos_dy''' - смещение по оси Y от точки пивоты объекта из поля выше ( если это поле не указывать, смещение будет = 0 )&lt;br /&gt;
* '''scr''' - экран на который мы хотим перейти&lt;br /&gt;
* '''user''' - 1 - сохранять значения для текущего пользователя. Для всех типов объектов кроме options этот флаг игнорируется&amp;lt;br&amp;gt;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] при выполнении которого происходит отработка команды set. &lt;br /&gt;
* '''break''' - прервать выполнение команд set на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
&lt;br /&gt;
Так как все объекты (не только машины) имеют состояния, то при помощи команды set можно их менять. Стоит обратить внимание на то, что когда в параметрах (любых команд) встречается st, речь идет о состоянии другого объекта, а если go, то данной машины состояний.&lt;br /&gt;
&lt;br /&gt;
=== play ===&lt;br /&gt;
&lt;br /&gt;
Проиграть звук&lt;br /&gt;
&lt;br /&gt;
*'''snd''' - Короткий звук (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''voice''' - Голос (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''mus''' - Длинный звук (перетаскивается из редактора ресурсов);&lt;br /&gt;
*'''mus_field''' - Проиграть длинную музыку, id взяв из переменной машины, указанной в этом поле;   (К примеру у машины есть параметр location_music==&amp;quot;7695&amp;quot; и в mus_field=&amp;quot;location_music&amp;quot;. То машина проиграет длинную музыку с id 7695)&lt;br /&gt;
*'''preload''' - Указанный звук будет загружен в память, но не будет проигрываться прямо сейчас. Для ускорения его старта потом;&lt;br /&gt;
*'''loop''' - Зациклить указанный звук. Использовать вместе с snd или voice;&lt;br /&gt;
*'''mus_loop''' - Зациклить указанную музыку. По умолчанию музыка всегда зацикленна. То есть, фактически этой флаг используется, когда нужно убрать зацикливание.&lt;br /&gt;
*'''repeat''' - Число повторов указанного звука при отключенном loop;&lt;br /&gt;
*'''mus_stop''' - Остановить музыку. Если используется вместе с mus, то остановится указанная. Если нет - то вся текущая.&lt;br /&gt;
*'''stop''' - Остановить указанный звук. Использовать вместе с snd или voice.&lt;br /&gt;
*'''mus_fading''' - Время появления/затухания указанной музыки в ms. Использовать вместе с mus.&lt;br /&gt;
*'''fading''' - Время появления/затухания указанного звука. Использовать вместе с snd или voice. &lt;br /&gt;
*'''volume''' - Установить громкость для всех звуков данной машины - тех что уже играют и тех, что будут запущены впоследствии;&lt;br /&gt;
*'''не выгружать''' - Позволяет продолжать проигрывание звука при смене экранов.&lt;br /&gt;
*'''go''' - Выбор состояния, в которое нужно перейти после проигрывания музыки/звука/голоса.&lt;br /&gt;
*'''if''' - Номер (начиная с нуля) условия перехода [[#if|if]].&lt;br /&gt;
&lt;br /&gt;
Особенности применения:&lt;br /&gt;
&lt;br /&gt;
1) Короткий звук (''snd'') нельзя запустить в первом (инитном) состоянии машины. Для того, чтобы запустить звук сразу при загрузке экрана, нужно в первом состоянии машины записать мгновенный переход во второе состояние мамашины (например, команда ''wait'', поле ''go'', в поле выбрать второе состояние), а во втором состоянии уже запустить звук.&lt;br /&gt;
&lt;br /&gt;
2) Если звук нужно зациклить и проигрывать какое-то количество раз (''loop=1,2,3,..,n'') или бесконечно (''loop=-1''), то нужно проследить чтобы состояние, в котором запускается звук, не вызывалось повторно во время проигрывания звука, иначе возникнет наложение звуков.&lt;br /&gt;
&lt;br /&gt;
3) Если во время проигрывания звука машина меняет свое состояние, звук продолжает играть.&lt;br /&gt;
&lt;br /&gt;
4) Если в одной машине почти одновременно воспроизводится несколько звуков, то они прерывают друг друга.&lt;br /&gt;
&lt;br /&gt;
5) Если каждый звук воспроизводится в отдельной машине, то они звучат параллельно.&lt;br /&gt;
&lt;br /&gt;
6) Если не указан звук и голос, то команда (''stop'') остановит все звуки, запущенные этой машиной.&lt;br /&gt;
&lt;br /&gt;
7) Музыка (''mus'') может быть формата .ogg или .mp3. На экране может воспроизводится только одна .mp3 музыка. Любой запуск .mp3 музыки независимо от того, в какой машине он осуществляется, будет прекращать проигрывание предыдущей .mp3 музыки. В тоже время может воспроизводиться несколько .ogg музыки.&lt;br /&gt;
&lt;br /&gt;
8) Музыка, которая проигрывается на глобальном экране, проигрывается на всех экранах проекта.&lt;br /&gt;
&lt;br /&gt;
=== var ===&lt;br /&gt;
&lt;br /&gt;
Переменная, которой присваивается значение параметра объекта&lt;br /&gt;
&lt;br /&gt;
*'''name''' - имя переменной;&lt;br /&gt;
*'''tp''' - тип переменной;&lt;br /&gt;
*'''obj''' - объект, используемый далее;&lt;br /&gt;
*'''par''' - имя параметра, значение которого присваивается переменной;&lt;br /&gt;
*'''val''' - значение переменной, если отсутствуют obj и par;&lt;br /&gt;
*'''user''' - если стоит &amp;quot;1&amp;quot;, то будет считываться с текущего профиля в опциях&lt;br /&gt;
*'''func''' - в выпадающем списке можно выбрать функцию:&lt;br /&gt;
**'''random''' - использует arg1 и arg2, возвращает случайное целое число в диапазоне arg1 .. arg2.&lt;br /&gt;
**'''conc''' - объединяет 4 строки arg1,arg2,arg3,arg4. Возвращает строку, в которой соединены все строки&lt;br /&gt;
**'''exp''' - экспонента от аргумента arg1.&lt;br /&gt;
**'''ln''' - натуральный логарифм аргумента arg1.&lt;br /&gt;
*'''arg1''' - аргумент функции&lt;br /&gt;
*'''arg2''' - аргумент функции&lt;br /&gt;
*'''arg3''' - аргумент функции&lt;br /&gt;
*'''arg4''' - аргумент функции&lt;br /&gt;
&lt;br /&gt;
Обозначенная переменная существует (может использоваться) только в текущем состоянии. Переменная может определятся в одном состоянии только один раз. Если созданной переменной нужно изменить значение в рамках состояния, это можно сделать через другую переменную или через параметр опций ([[Options]]). Если ее значение нужно использовать в другом состоянии, то оно присваивается параметру опций, а затем заново считывается в новом состоянии. Переменные можно указывать в поле ''val'' с другими математическими действиями и цифрами, при этом каждое действие заключать в скобки. Если в поле ''val'' указать имя переменной ''А'' без скобок - воспримется строка ''А'', если указать в скобках - воспримется значение переменной.&lt;br /&gt;
&lt;br /&gt;
=== buy === &lt;br /&gt;
&lt;br /&gt;
'''(in-app совершить in-app покупку)'''&lt;br /&gt;
&lt;br /&gt;
При переходе в состояние, данная команда открывает системное окно с предложением совершить in-app покупку. В зависимости от действий игрока, покупка может произойти (успех) или не произойти (провал).&lt;br /&gt;
&lt;br /&gt;
* '''id покупки''' - внутренний id покупки для приложения, указывается в объекте [[Store]];&lt;br /&gt;
* '''объект(успех)''' - объект, которому сообщается об удачной покупке;&lt;br /&gt;
* '''состояние(успех)''' - состояние в которое переводится выбранный объект в случае успешной покупки;&lt;br /&gt;
* '''объект(провал)''' - объект, которому сообщается о неудачной покупке;&lt;br /&gt;
* '''состояние(провал)''' - состояние в которое переводится объект в случае неудачной покупки.&lt;br /&gt;
&lt;br /&gt;
=== download ===&lt;br /&gt;
 &lt;br /&gt;
'''(скачать загружаемый контент)'''&lt;br /&gt;
&lt;br /&gt;
При переходе в состояние будет совершена попытку закачать контент.&lt;br /&gt;
* '''url''' - ссылка на zip архив с контентом в интернете.&lt;br /&gt;
* '''объект успех''' - объект, которому в случае успешной закачки будет задаваться указанное состояние.&lt;br /&gt;
* '''состояние (успех)''' - состояние, которое будет устанавливаться выше указанному объекту, в случае успешной закачки.&lt;br /&gt;
* '''объект (провал)''' -объект, которому, в случае неудачи закачки, будет устанавливаться указанное состояние.&lt;br /&gt;
* '''состояние (провал)''' - состояние, которое, в случае неудачи закачки,будет устанавливаться выше указанному объекту.&lt;br /&gt;
* '''счетчик прогресса''' - объект, типа счетчик, который отображает прогресс закачки контента. Крайне желательно, что бы он измерялся в диапазоне от 0 до 100.&lt;br /&gt;
 &lt;br /&gt;
Существует несколько причин при которых вызывается состояние &amp;quot;провал&amp;quot;. Для того что бы сообщить пользователю, по какой именно причине возник провал закачки, следует идентифицировать причины провала. Это возможно сделать с помощью параметра &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
downloadErrCode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ниже приведены значение параметра которые помогут вывести нужное текстовое сообщение :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    GCUSTOM_ERROR_CODE_ERROR_UNKNOWN   = 1,    //!&amp;lt; ошибка не классифицирована&lt;br /&gt;
    GCUSTOM_ERROR_CODE_WIFI_DISABLED   = 2,    //!&amp;lt; отключен WIFI&lt;br /&gt;
    GCUSTOM_ERROR_CODE_SDCARD_UNAVAILABLE = 3,    //!&amp;lt; SD-карта недоступна&lt;br /&gt;
    GCUSTOM_ERROR_CODE_SDCARD_FULL   = 4,    //!&amp;lt; SD-карта переполнена перед закачкой&lt;br /&gt;
    GCUSTOM_ERROR_CODE_UNZIP_FAIL   = 5     //!&amp;lt; ошибка при распаковки пака (скорее всего на SD-карте не&lt;br /&gt;
    хватает места для распаковки &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Процессы ==&lt;br /&gt;
&lt;br /&gt;
Все команды процессов, кроме параметров описанных ниже, могут содержать параметры, совпадающие с именами других команд. В этих параметрах указывается номер (начиная с нуля) команды, которую надо запустить на выполнение, после окончания действия данной команды процесса.&lt;br /&gt;
&lt;br /&gt;
Если в команде процесса есть условие '''[[#if|if]]''', то после окончания работы команды она ждет пока это условие не выполнится. Только после этого переходит к следующей команде этого же типа&lt;br /&gt;
или в другое состояние (если есть параметр go).&lt;br /&gt;
Исключением является команда wait, которая '''не''' ждёт срабатывания '''[[#if|if]]'''. Если он по окончанию wait сработал, то происходит переходит в другое состояние, если есть параметр go.&lt;br /&gt;
Если параметра go нет, то в любом случае запускается следующий wait (т.е. if относится только к переходу go).&lt;br /&gt;
&lt;br /&gt;
=== wait ===&lt;br /&gt;
 &lt;br /&gt;
Команда паузы (временной задержки). Если параметра '''t''' нет, то срабатывает сразу.&lt;br /&gt;
Может также использоваться для логических ветвлений, случайных переходов в другие состояния и т.д.&lt;br /&gt;
&lt;br /&gt;
* '''t''' - длительность выполнения команды в ms;&lt;br /&gt;
* '''dt''' - интервал от t-dt до t+dt, внутри которого команда может быть случайно прервана (при t&amp;gt;t+dt прерывается в любом случае);&lt;br /&gt;
* '''p''' - вероятность срабатывания перехода в состояние, указываемое параметром go;&lt;br /&gt;
* '''go''' - состояние, в которое нужно перейти поле окончания времени и срабатывания условия [[#if|if]], если оно указано;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;&lt;br /&gt;
* '''loop''' - зациклить команды;&lt;br /&gt;
* '''break''' - прервать выполнение команд wait на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
Простейший набор параметров команды wait выглядит следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;1000&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;    // ждем 1000ms и покидаем состояние&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Для программирования объектов со случайным поведением можно использовать последовательность команд wait с параметром вероятности перехода p (от 0 до 1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; p=&amp;quot;0.5&amp;quot; go=&amp;quot;st1&amp;quot;/&amp;gt; // через t с вероятностью 1/2 перейдет в st1&lt;br /&gt;
&amp;lt;wait go=&amp;quot;st2&amp;quot;/&amp;gt; // иначе,  перейдем в st2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Этот же синтаксис позволяет делать состояния с различным временем жизни:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; p=&amp;quot;0.5&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt; // с вероятностью 1/2 живем 100ms&lt;br /&gt;
&amp;lt;wait t=&amp;quot;100&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;       // или 200ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Впрочем, последнюю задачу можно решить при помощи указывания интервала dt, внутри которого произойдет окончание команды. Так, состояние, живущее от 800 до 1200ms, реализуется следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;wait t=&amp;quot;1000&amp;quot; dt=&amp;quot;200&amp;quot; go=&amp;quot;next&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== move ===&lt;br /&gt;
&lt;br /&gt;
Перемещение по сцене:&lt;br /&gt;
* '''tx''', '''ty''' - целевые координаты в пикселях, к которым должен переместиться объект. Можно указывать переменные заданные с помощью [http://ge.absolutist.com/index.php/Machine#var_2 переменной var];&lt;br /&gt;
* '''dx''', '''dy''' - величина смещения от текущей (если есть - tx,ty игнорируются); можно задавать смесь tx, dy или dx,ty;&lt;br /&gt;
* '''v''' - скорость перемещения в пикселях в секунду; для фреймовой анимации, например, ходьбы скорость рассчитывается исходя из длительности одного кадра и числа кадров на фазу движения. Поэтому, в этом случае, удобнее задавать скорость;&lt;br /&gt;
* '''t''' - время перемещения (v игнорируется);&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go; команда ждет срабатывания условия, и не запускает следующую команду move, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд движения с первой команды;&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд move на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
В большинстве команд процессов, связанных с движением, величина изменения может быть задана в абсолютных или относительных величинах. Так, могут быть указаны целевые координаты tx, ty в которые надо переместиться, или смещение dx, dy относительно текущего положения объекта.&lt;br /&gt;
&lt;br /&gt;
Аналогично, скорость перемещения регулируется, либо явным заданием времени выполнения команды t, либо скоростью v. Исходя из требуемого расстояния, по этой скорости вычисляется необходимое время. Скорость задается в пикселях за секунду (а не миллисекунду!)&lt;br /&gt;
&lt;br /&gt;
=== rot ===&lt;br /&gt;
&lt;br /&gt;
Вращение объекта вокруг точки пивота с координатами px,py. Эти координаты задаются относительно верхнего левого угла объекта в общей секции описания параметров объекта или командой init в данном состоянии.&lt;br /&gt;
* '''ta''' - целевой угол поворота объекта;&lt;br /&gt;
* '''da''' - на сколько надо повернуться (ta игнорируется);&lt;br /&gt;
* '''v''' - угловая скорость поворота в градусах в секунду;&lt;br /&gt;
* '''t''' - время поворота (v игнорируется);&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду rot, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд движения с первой команды;&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд rot на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Угол отсчитывается от оси x. Если он положителен, то поворот происходит по часовой стрелке. Если отрицательный - против часовой.&lt;br /&gt;
&lt;br /&gt;
=== alpha ===&lt;br /&gt;
&lt;br /&gt;
Изменение прозрачности объекта. Меняется от 0 (полностью прозрачен) до 1 (непрозрачен)&lt;br /&gt;
* '''ta''' - целевая прозрачность&lt;br /&gt;
* '''da''' - на сколько надо изменить прозрачность от текущей (ta игнорируется)&lt;br /&gt;
* '''v''' - скорость изменения прозрачности (в долях единицы в ms)&lt;br /&gt;
* '''t''' - время изменения (v игнорируется)&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду alpha, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд alpha с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд alpha на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Если у объекта прозрачность ''al=0.00'', то он невидим для всякого взаимодействия. Если у объекта прозрачность ''al=0.01'', то он видим для клика, но невидим для дропа(команда drop на объект не видит объект с прозрачностью ''0.01''). Если у объекта ''al=0.02'', то он видим и для клика, и для дропа.&lt;br /&gt;
&lt;br /&gt;
=== scale ===&lt;br /&gt;
&lt;br /&gt;
Изменение размеров объекта&lt;br /&gt;
* '''tx''', '''ty''' - целевой масштаб по каждой оси&lt;br /&gt;
* '''dx''', '''dy''' - на сколько изменить масштаб по каждой оси&lt;br /&gt;
* '''v''' - скорость изменения масштаба (в долях единицы в сек.)&lt;br /&gt;
* '''t''' - длительность выполнения команды (v игнорируется)&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду scale, пока if не выполнится; &lt;br /&gt;
* '''loop'''  - зациклить команды - Начать выполнение команд scale с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд scale на этой команде (запустить их сново можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
=== phys ===&lt;br /&gt;
&lt;br /&gt;
Команда phys позволяет имитировать простую физику. В ней задается начальная скорость и действующая на объект сила (ускорение).&lt;br /&gt;
&lt;br /&gt;
* '''vx''', '''vy''' - начальная скорость&lt;br /&gt;
* '''ax''', '''ay''' - величина ускорения по каждой оси&lt;br /&gt;
* '''a''' - полное ускорение&lt;br /&gt;
* '''tvx''', '''tvy''' - целевая скорость&lt;br /&gt;
* '''tx''', '''ty''' - целевая координата&lt;br /&gt;
* '''go''' - новое состояние - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;  команда ждет срабатывания условия, и не запускает следующую команду phys, пока if не выполнится; &lt;br /&gt;
* '''loop''' - зациклить команды - Начать выполнение команд phys с первой команды.&lt;br /&gt;
* '''break''' - прервать команды - Прервать выполнение команд phys на этой команде (запустить их снова можно из команд процессов). &lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим подпрыгивающий мячик, который при касании с землей деформируется (вертикально сплюскивается). Это можно сделать в 3 состояния (падаем, касаемся и взлетаем). Первоначально мячик находится в координате y=-100, и имеет высоту картинки w=60. Падает он до координаты ty=0. При касании с землёй, мяч сжимается на 20 процентов (sy=0.8). При этом его центр должен опуститься на dy=0.8*w/2 = 24.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;down&amp;quot;&amp;gt;                                    // падаем&lt;br /&gt;
    &amp;lt;phys vy=&amp;quot;0&amp;quot; ay=&amp;quot;20&amp;quot; ty=&amp;quot;0&amp;quot; go=&amp;quot;touch&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;touch&amp;quot;&amp;gt;                                   // касаемся земли&lt;br /&gt;
    &amp;lt;move dy=&amp;quot;24&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                       // опускаем центр при сжатии&lt;br /&gt;
    &amp;lt;scale ty=&amp;quot;0.8&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                     // сжимаемся&lt;br /&gt;
    &amp;lt;move dy=&amp;quot;-24&amp;quot; t=&amp;quot;300&amp;quot;/&amp;gt;                      // поднимаем центр при разжатии&lt;br /&gt;
    &amp;lt;scale ty=&amp;quot;1&amp;quot; t=&amp;quot;300&amp;quot; go=&amp;quot;up&amp;quot;/&amp;gt;               // разжимаемся&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;up&amp;quot;&amp;gt;                                      // взлетаем&lt;br /&gt;
    &amp;lt;phys vy=&amp;quot;0&amp;quot; ty=&amp;quot;-200&amp;quot; go=&amp;quot;down&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Напомним, что если объект имеет начальную скорость взлета, равную v=sqrt(2*ay*h), то он подпрыгнет на высоту h. Однако, в данном случае, вместо задания начальной скорости при взлете, мы задаем целевую координату (ty), до которой мяч должен подпрыгнуть.&lt;br /&gt;
&lt;br /&gt;
=== rgb ===&lt;br /&gt;
&lt;br /&gt;
* '''trgb''' - целевой эффект rgb; подразумевает под собой цвет в виде HEX-кода; по-умолчанию: FFFFFF;&lt;br /&gt;
* '''t''' - длительность выполнения команды в ms;&lt;br /&gt;
* '''go''' - состояние, в которое нужно перейти поле окончания времени и срабатывания условия [[#if|if]], если оно указано;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]], при выполнении которой происходит переход go;&lt;br /&gt;
* '''loop''' - зациклить команды;&lt;br /&gt;
* '''break''' - прервать выполнение команд wait на этой команде (запустить их снова можно из команд процессов).&lt;br /&gt;
* '''init''', '''set''', '''draw''', '''move''', '''rot''', '''alpha''', '''scale''', '''phys''' - Номер запускаемой команды.&lt;br /&gt;
&lt;br /&gt;
=== spline ===&lt;br /&gt;
&lt;br /&gt;
Сплайн позволяет перемещать машину по заранее заданной траектории.&lt;br /&gt;
&lt;br /&gt;
====Параметры====&lt;br /&gt;
&lt;br /&gt;
*'''key''' - точки сплайна по которым движется &lt;br /&gt;
*'''t''' - время движения по траектории&lt;br /&gt;
*'''go''' - по окончанию переход в состояние&lt;br /&gt;
*'''if''' - условие перехода&lt;br /&gt;
*'''loop''' - количество повторений&lt;br /&gt;
*'''break''' - прервать команды на этой&lt;br /&gt;
*'''wait''' - номер запускаемого действия&lt;br /&gt;
*'''init''' - номер запускаемого действия&lt;br /&gt;
*'''alpha''' - номер запускаемого действия&lt;br /&gt;
*'''rot''' - номер запускаемого действия&lt;br /&gt;
*'''move''' - номер запускаемого действия&lt;br /&gt;
*'''set''' - номер запускаемого действия&lt;br /&gt;
*'''phys''' - номер запускаемого действия&lt;br /&gt;
*'''scale''' - номер запускаемого действия&lt;br /&gt;
*'''drow''' - номер запускаемого действия&lt;br /&gt;
&lt;br /&gt;
====Построение сплайна====&lt;br /&gt;
&lt;br /&gt;
# в состоянии машины добавляем правой кнопкой мыши действие &amp;quot;spline&amp;quot;&lt;br /&gt;
# добавляем минимально необходимые параметры: '''key''' и '''t''', указываем время движения в '''t'''&lt;br /&gt;
# выделяем для редактирования поле '''key'''&lt;br /&gt;
# записываем координаты точек через запятую, сначала x потом y, например: -211,-248,-151,-248,-91,-247,59,-246,60,101,60,159,1,190&lt;br /&gt;
Если записали все координаты вручную, то можно сохранить и проверять.&lt;br /&gt;
Или можно в окне списка состояний нажать на кнопку &amp;quot;build spline&amp;quot; (справа вверху).&lt;br /&gt;
[[Файл:Btn spline.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Окно с списком состояний закроется, появится дополнительная панель с настройками сплайна и появится возможность указывать мышкой по экрану точки для сплайна.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Spline panel.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Точки сплайна указываются кликом левой кнопки мыши по экрану.&lt;br /&gt;
&lt;br /&gt;
Возможности редактирования:&lt;br /&gt;
&lt;br /&gt;
'''режимы:'''&lt;br /&gt;
*'''add''' - по нажатию левой кнопкой мыши по экрану - будет добавлена новая точка, которая соединится с предыдущей&lt;br /&gt;
*'''select''' - по нажатию левой кнопкой мыши по точке сплайна появится возможность отредактировать её положение перетащив её или поменяв её координаты в полях x и у&lt;br /&gt;
*'''delete''' - по нажатию левой кнопкой мыши по точке сплайна точка удалится&lt;br /&gt;
&lt;br /&gt;
Чтобы удалить все точки сплайна необходимо нажать на кнопку &amp;quot;'''delete all knots'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Сохранить сплайн можно нажав на кнопку &amp;quot;'''Save spline'''&amp;quot;&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;
=== click ===&lt;br /&gt;
&lt;br /&gt;
Команда вызывается, если на объект кликнули мышкой. Срабатывает на её нажатие.&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды надо перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер  (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход go.&lt;br /&gt;
&lt;br /&gt;
По клику машина записывает координаты клика в параметры: clickX, clickY.&lt;br /&gt;
&lt;br /&gt;
=== touch_in ===&lt;br /&gt;
&lt;br /&gt;
Наведение мыши/пальца на машину, если палец &amp;quot;тащат&amp;quot; по экрану.&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== touch_out ===&lt;br /&gt;
Выведение мыши/пальца из машины, если палец &amp;quot;тащат&amp;quot; по экрану.&lt;br /&gt;
* '''go''' - состояние в которое при клике нужно перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при котором срабатывает переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== touch_up ===&lt;br /&gt;
&lt;br /&gt;
Отжатие мыши от машины&lt;br /&gt;
&lt;br /&gt;
* '''go''' - состояние в которое при отжатии мыши нужно перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при котором срабатывает переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== mouse_in ===&lt;br /&gt;
&lt;br /&gt;
Срабатывает при наведение мыши/пальца на машину даже если не нажата кнопка мыши, работает на desktop-ных системах (OSX, Windows)&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== mouse_out ===&lt;br /&gt;
Срабатывает при выведение мыши/пальца из машины даже если не нажата кнопка мыши, работает на desktop-ных системах (OSX, Windows)&lt;br /&gt;
* '''go''' - состояние в которое при выполнении команды нужно перейти (если if нет, то в любом случае);&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]], при срабатывании которого, происходит переход ''go''.&lt;br /&gt;
&lt;br /&gt;
=== drag ===&lt;br /&gt;
&lt;br /&gt;
Данная команда позволяет &amp;quot;таскать&amp;quot; объект по сцене нажав и удерживая клавишу мишки или (палец в случае сенсорного устройства) на нем.Так же есть возможность ограничить разрешенную область таскания, за пределы которой  объект вытащить невозможно. [[Файл:drag.jpg|right]]&lt;br /&gt;
* '''x1''' - разрешено таскать, когда координата объекта правее;&lt;br /&gt;
* '''x2''' - разрешено таскать, когда координата объекта левее;&lt;br /&gt;
* '''y1''' - разрешено таскать, когда координата объекта ниже;&lt;br /&gt;
* '''y2''' - разрешено таскать, когда координата объекта выше;&lt;br /&gt;
* '''if''' - номер команды условия (начиная с нуля) разрешения таскания;&lt;br /&gt;
* '''obj''' - объект у которого надо изменить состояние;&lt;br /&gt;
* '''st'''  - новое состояние объекта obj;&lt;br /&gt;
* '''за пивот''' - &amp;quot;да&amp;quot; - таскать объект за пивот, &amp;quot;нет&amp;quot; - за ту точку, за которую схватили&lt;br /&gt;
* '''приклеивать''' - приклеивать при клике к мышке.&lt;br /&gt;
&lt;br /&gt;
=== dragRot ===&lt;br /&gt;
&lt;br /&gt;
Данная команда позволяет вращать объект вокруг точки пивота.  Нажав и удерживая клавишу мишки или палец (в случае сенсорного устройства) на нем, мы можем вращать его по часовой либо против часовой стрелки. При многократном вращении вокруг своей оси значение его угла не накапливается, а обнуляется выходя за границы [360 ; -360] градусов. [[Файл:dragRot.jpg|right]]&lt;br /&gt;
* '''if''' - номер команды условия (начиная с нуля) разрешения таскания;&lt;br /&gt;
* '''obj''' - объект у которого надо изменить состояние;&lt;br /&gt;
* '''st'''  - новое состояние объекта obj;&lt;br /&gt;
* '''maxVel'''  - Максимальная скорость вращения градус/сек;&lt;br /&gt;
* '''objStart''' - объект при начале вращения;&lt;br /&gt;
* '''stStart''' - его новое состояние;&lt;br /&gt;
* '''objEnd''' - объект при завершении вращения;&lt;br /&gt;
* '''stEnd''' - его новое состояние; &lt;br /&gt;
'''''Замечание.'''''  ('''dragRot''') и обычный ('''drag''')  не работает если сцена таскаемая.&lt;br /&gt;
&lt;br /&gt;
=== drop ===&lt;br /&gt;
&lt;br /&gt;
Если нажатая кнопка мышки отпускается, вызывается эта команда. Обычно она используется в связке с командой drag&lt;br /&gt;
* '''obj''' - объект, на который надо уронить таскаемый объект;&lt;br /&gt;
* '''go''' - состояние в которое переходим при отпускании мышки;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) условия [[#if|if]] разрешения бросания.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим совместное применение команд drag и drop на следующей задаче. Пусть есть ключ и ящик. Ключ можно взять мышкой и перетащить, бросив на ящик. Ящик при этом должен постепенно стать прозрачным, а ключ уменьшиться до нуля. Машина состояний для ключа выглядит следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;drag&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;drag x1=&amp;quot;-350&amp;quot; x2=&amp;quot;350&amp;quot; y1=&amp;quot;-250&amp;quot; y2=&amp;quot;250&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;drop obj=&amp;quot;box&amp;quot; go=&amp;quot;open&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;open&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;set obj=&amp;quot;box&amp;quot; st=&amp;quot;open&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;scale tx=&amp;quot;0.01&amp;quot; ty=&amp;quot;0.01&amp;quot; t=&amp;quot;500&amp;quot; go=&amp;quot;hide&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;init x=&amp;quot;268&amp;quot; y=&amp;quot;30&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;scale tx=&amp;quot;1&amp;quot; ty=&amp;quot;1&amp;quot; t=&amp;quot;500&amp;quot; go=&amp;quot;drag&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ящик:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;close&amp;quot;&amp;gt;                        // начальное состояние ящика&lt;br /&gt;
    &amp;lt;init al=&amp;quot;1&amp;quot;/&amp;gt;                     // если его кто-то сюда переведет - он появится.&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;open&amp;quot;&amp;gt;              &lt;br /&gt;
    &amp;lt;alpha ta=&amp;quot;0&amp;quot; t=&amp;quot;500&amp;quot;/&amp;gt;            // исчезает по прозрачности за 500 ms&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Использование свойства &amp;quot;Условие перехода&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Можно прописать условие, при котором выполняется переход при дропе.&lt;br /&gt;
[[Файл:Drop_if.png|300px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
С помощью этого условия мы можем научить наш объект выполнять разные задачи в зависимости от того, как именно его дропнули.&lt;br /&gt;
Пусть есть объект который можно таскать. Когда объект не таскается должен быть включен флаер, привязанный к этому объекту. При клике на объект, он должен поворачиваться на 90 градусов. При дропе на соответствующую маску объект стает на свое место(Если выполнены условия, к примеру: установлен предыдущий объект и наш объект имеет правильный угол). Если дроп в любое другое место, то должен включится флаер.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы научить машину различать клик по ней и ее таскание сделаем следующее. Пропишем ей 2 состояния: click и drag, а также выставим ей параметр &amp;quot;хранить нажатость&amp;quot; = 1. В click будем вычислять координаты объекта и записывать объекту параметр допустимого смещения при котором таскание будет восприниматься как клик. (В данном примере эти параметры: cx, cy, vx, vy. А допустимое смещение составляет 10 пикселей.)&lt;br /&gt;
&lt;br /&gt;
В состоянии drag будем проверять попадает ли координата объекта при дропе в границы допустимого смещения. Для того чтобы сравнить параметр объекта с переменной, вычтем из нашего объекта, то что мы записали в click. В зависимости от условий и места дропа переходим в соответствующее состояние.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Click.png|330px]] [[Файл:Drag st.png|630px]]&lt;br /&gt;
&lt;br /&gt;
=== throw ===&lt;br /&gt;
 &lt;br /&gt;
Если на объект наступили мышкой, не отпуская кнопки, мышку оттащили и затем отпустили, вызывается команда throw со следующими параметрами:&lt;br /&gt;
* '''go''' - состояние, в которое, при клике, надо перейти;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды [[#if|if]] разрешения бросания;&lt;br /&gt;
* '''force''' - получаемая скорость равна разнице пикселей от начала бросания (мышь нажата) до его конца (мышь отжата), умноженная на этот параметр. По умолчанию он равен 1.&lt;br /&gt;
&lt;br /&gt;
Сработав, эта команда задает начальные значения скорости для команды phys, поэтому должна использоваться совместно с ней (см. ниже пример).&lt;br /&gt;
&lt;br /&gt;
=== tap ===&lt;br /&gt;
&lt;br /&gt;
* '''go''' - Состояние в которое нужно перейти после окончания времени.&lt;br /&gt;
* '''if''' - номер (начиная с нуля) условия [[#if|if]] разрешения бросания.&lt;br /&gt;
&lt;br /&gt;
=== apply ===&lt;br /&gt;
&lt;br /&gt;
Вызывается, если данная машина пересеклась с другой. Обычно используется в совокупности с throw, move, phys, drag.&lt;br /&gt;
* '''obj''' - сработает , если пересеклись с этим объектом;&lt;br /&gt;
* '''x1''' - сработает, если центр объекта левее этого x-са;&lt;br /&gt;
* '''x2''' - сработает, если центр объекта правее этого x-са;&lt;br /&gt;
* '''y1''' - сработает, если центр объекта выше этого y-ка;&lt;br /&gt;
* '''y2''' - сработает, если центр объекта ниже этого y-ка;&lt;br /&gt;
* '''rm''' - радиус этой машины (если rm=0, то она считается прямоугольной)&lt;br /&gt;
* '''ro''' - радиус объекта obj (если ro=0, то он считается прямоугольным)&lt;br /&gt;
* '''st''' - состояние, в которое надо перевести объект obj&lt;br /&gt;
* '''go''' - состояние, в которое надо перейти при срабатывании;&lt;br /&gt;
* '''if''' - номер (начиная с нуля) команды условия [[#if|if]] разрешения применения команды apply.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Апплай.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Блок схема работы '''apply'''&lt;br /&gt;
&lt;br /&gt;
[[Файл:Блок схема apply.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* Сначала у нас проверяется  координаты '''x1''', '''x2''', '''y1''', '''y2'''.&lt;br /&gt;
* Далее проверяет если '''obj'''&lt;br /&gt;
* Если '''obj''' нет, то идёт проверку, и выдаёт результат&lt;br /&gt;
(если при этом если '''x1''', '''x2''', '''y1''', '''y2''' нет, то они считаются по ширине и высоте всего экрана.)&lt;br /&gt;
* Если есть '''obj''', то проверяет есть ли радиусы '''rm''', '''ro'''.&lt;br /&gt;
* Если он есть, то значит у нас '''apply''' по кругам&lt;br /&gt;
* Если нет, то проверяем наличие '''x1''', '''x2''', '''y1''', '''y2'''.&lt;br /&gt;
* Если они есть, то проверка и результат.&lt;br /&gt;
* Если их нет, то проверка идёт по шейпам объектов, и выдаётся результат/&lt;br /&gt;
Если не будет стоять ни каких галочек, то проверка будет идти по шейпам объектов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пусть, например, есть снаряд, который при помощи мышки надо кинуть в &amp;quot;тыкву&amp;quot;. Если мы промахнулись, снаряд должен вернуться обратно, а с тыквой ничего не произойти. Если мы в тыкву попадаем, снаряд также возвращается, а тыква &amp;quot;взрывается&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;trow&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;init x=&amp;quot;-350&amp;quot; y=&amp;quot;150&amp;quot;/&amp;gt;                      // начальное положение&lt;br /&gt;
    &amp;lt;throw go=&amp;quot;fly&amp;quot;/&amp;gt;                             // бросаем&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;st id=&amp;quot;fly&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;phys ay=&amp;quot;100&amp;quot;/&amp;gt;                              // летим&lt;br /&gt;
    &amp;lt;apply y2=&amp;quot;300&amp;quot; go=&amp;quot;throw&amp;quot;/&amp;gt;                  // с землей&lt;br /&gt;
    &amp;lt;apply obj=&amp;quot;тыква&amp;quot; rm=&amp;quot;8&amp;quot; ro=&amp;quot;10&amp;quot; st=&amp;quot;bang&amp;quot;/&amp;gt; // с тыквой&lt;br /&gt;
&amp;lt;/st&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Условия ==&lt;br /&gt;
&lt;br /&gt;
=== if ===&lt;br /&gt;
&lt;br /&gt;
В состоянии может быть произвольное число команд if. Их номера (начиная с нуля) указываются&lt;br /&gt;
в параметре if других команд. Эти номера можно соединять при помощи логических связок:&lt;br /&gt;
* '''&amp;amp;''' - логическое '''и''' (вместо значка '''&amp;amp;''' можно использовать запятую ''',''');&lt;br /&gt;
* '''|''' - логическое '''или''';&lt;br /&gt;
* '''!''' - логическое '''не'''.&lt;br /&gt;
Пример записи логического выражения в поле if некоторой команды: '''(1&amp;amp;2)|(3&amp;amp;(!4))''',&lt;br /&gt;
что означает: выполняется if под номером 1 и под номером 2, или под номером 3 и не под номером 4.&lt;br /&gt;
&lt;br /&gt;
'''!!!Важно:''' нужно использовать полную скобочную структуру :  &amp;quot;((1&amp;amp;2)&amp;amp;3)&amp;quot; - правильно,  &amp;quot;1,2,3&amp;quot; - не правильно ( не гарантируется 100% адекватная работа).&lt;br /&gt;
&lt;br /&gt;
Логические связки используются также как математической логике или любом языке программирования. &lt;br /&gt;
Так:&lt;br /&gt;
* A '''&amp;amp;''' B - истинно, если истинны оба условия A и B;&lt;br /&gt;
* A '''|''' B - истинно, если истинно хотя бы одно условие (или оба);&lt;br /&gt;
* '''!''' А - истинно, если условие A ложно.&lt;br /&gt;
Скобки в логическом выражении определяют приоритет (порядок) выполнения логических операций.&lt;br /&gt;
Отметим несколько тождеств, справедливых при формировании логических высказываний:&lt;br /&gt;
* !(A &amp;amp; B) = (!A) | (!B)&lt;br /&gt;
* !(A | B) = (!A) &amp;amp; (!B)&lt;br /&gt;
* !(!A) = A&lt;br /&gt;
&lt;br /&gt;
Если при формировании условия (ниже) есть несколько проверок, то они соединены логическим '''и'''.&lt;br /&gt;
Т.е., если хотя бы одна из них не выполняется, то считается, что условие не выполнилось.&lt;br /&gt;
&lt;br /&gt;
Параметры команды:&lt;br /&gt;
* '''obj''' - находится ли объект obj в состоянии st или имеет ли его параметр par значение val. В этом поле можно указать this, это значит что if будет проводить проверку текущего объекта. Добавлено это вместе с параметром clone. Клоны рождаются и умирают в рамках одного экрана. Для различия клонов между собой машина имеет уникальный параметр &amp;quot;clone_num&amp;quot; у оригинала = -1, у клонов от 0 до N, собственно с помощью this машина может сама себя проверить клон ли она и если да то какой у нее номер;&lt;br /&gt;
* '''st''' - имя состояния в котором может находиться объект obj;&lt;br /&gt;
* '''par''' - имя параметра объекта obj, значение которого сравнивается с полем val;&lt;br /&gt;
* '''val''' - значение параметра par, которое проверяется у объекта obj;&lt;br /&gt;
* '''val_txt''' - Значение текстового параметра объекта для проверки условия;&lt;br /&gt;
* '''val_res''' - Значение ресурсного параметра объекта для проверки условия;&lt;br /&gt;
* '''val_obj''' - Значение id объекта для проверки условия;&lt;br /&gt;
* '''op''' - операция сравнения par op val. Если операции нет, то предполагается проверка на равенство par=val. Иначе используются операторы:&lt;br /&gt;
** '''&amp;lt;''' - меньше (par &amp;lt; val);&lt;br /&gt;
** '''&amp;gt;''' - больше (par &amp;gt; val);&lt;br /&gt;
** '''!=''' - не равно (par != val);&lt;br /&gt;
** '''&amp;lt;&amp;gt;''' - не равно (par &amp;lt;&amp;gt; val);&lt;br /&gt;
** '''&amp;gt;=''' - больше или равно (par &amp;gt;= val);&lt;br /&gt;
** '''&amp;lt;=''' - меньше или равно (par &amp;lt;= val);&lt;br /&gt;
* '''curScr''' - если текущий экран совпадает с этим, то условие выполнилось;&lt;br /&gt;
* '''prScr''' - если предыдущий экран совпадает с этим, то условие выполнилось;&lt;br /&gt;
* '''wasScr''' - если был (когда либо) этот экран, то условие выполнилось.&lt;br /&gt;
* '''buy''' - был ли куплен данный inn-app (проверяется флаг поля в объекте [[Options]]);&lt;br /&gt;
* '''url''' - валиден (правилен и может быть запущен) ли данный интернет-адрес; на ios ссылка должна выглядеть так comabsolutisttwilighttown://, т.е. в конце ссылки добавляем ://&lt;br /&gt;
* '''is_mus''' - играет ли сейчас музыка (значение 1);&lt;br /&gt;
* '''guest''' - объект который установил состояние (используется вместо параметра obj). Если указанный объект не менял состояние этой машины, то условие не срабатывает.&lt;br /&gt;
&lt;br /&gt;
Если использовать obj, par, val, то будет происходить проверка на равенство значения параметра объекта и значения записанного в поле val.&lt;br /&gt;
Если же использовать obj, par, op, val, то будет происходить проверка в соответствии с операцией сравнения значения параметра объекта и значения записанного в поле val.&lt;br /&gt;
&lt;br /&gt;
Для проверки текущего значения прозрачности у объекта можно воспользоваться параметром ''cur_al''&lt;br /&gt;
&lt;br /&gt;
У машины (другой или самой себя) можно проверить текущее состояние '''st''' и предыдущее состояние '''prev_st''', эти параметры живут на время сессии.&lt;br /&gt;
&lt;br /&gt;
== Математика ==&lt;br /&gt;
&lt;br /&gt;
=== Основные математические операции ===&lt;br /&gt;
Математика в appsalute creator представлена 6-ю основными операциями: (плюс),  (минус),  (умножить),  (поделить), (целочисленное деление), (остаток от деления) &amp;lt;br&amp;gt;&lt;br /&gt;
Организована благодаря совместному использованию '''[[#var|var]]''' и '''[[#set|set]]'''. &lt;br /&gt;
[[Файл:Example_mod.png|300px|right|Пример использования операции остатка от деления]]&lt;br /&gt;
''(плюс)'' '''+'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(минус)'' '''-'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(умножить)'' '''*'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(поделить)'' '''/'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(целочисленное деление)'' '''\'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(остаток от деления)'' '''%'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Примеры использования последних двух операций:&amp;lt;br&amp;gt;&lt;br /&gt;
5\2=2&amp;lt;br&amp;gt;&lt;br /&gt;
5%2=1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== var ===&lt;br /&gt;
Благодаря использованию '''[[#var|var]]''' существует возможность cчитать любой числовой параметр любого объекта. Например: x - координату какой-то машины, текущее значение любого объекта counter или timer и конечно же считывание значения любого параметра из опций! Каким образом это устроено? Рассмотрим подробнее '''[[#var|var]]''': &amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:VAR.png|right]]&lt;br /&gt;
*'''name''' - здесь выбираем имя для нашей будущей переменной, которой будем оперировать далее&lt;br /&gt;
*'''obj''' - выбирается объект, параметры которого мы хотим считать&lt;br /&gt;
*'''par''' - параметр, который нужно вычитать из объекта, указанного выше&lt;br /&gt;
*'''val''' - указывается числовое значение, которое будет установлено по умолчанию в случае отсутствия obj и par&lt;br /&gt;
*'''user''' - если стоит &amp;quot;1&amp;quot;, то будет считываться с текущего профиля в опциях&lt;br /&gt;
На изображении справа можно наблюдать каким образом организован '''[[#var|var]]'''. В данном случае объявлена переменная x_cor, которая считывает x-координату объекта actor_1, при этом считывание переменной происходит из текущего профиля, так, как в поле user установлено значение равное &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== set ===&lt;br /&gt;
[[Файл:SET.png|right]]&lt;br /&gt;
Использование '''[[#var|var]]''' без '''[[#set|set]]''' не имеет смысла. Так, как переменная создается, но не используется дальше. Рассмотрим следующий пример, где вычитаем x - координату из одного объекта и сохраним ее в опции, предварительно увеличив ее на 50 единиц (в данном случае 50 пикселей).&lt;br /&gt;
На рисунке справа можно наблюдать, каким образом это сделано. В состоянии '''init''' объявляется переменная '''x_cor''', которая считывает координату '''x''' из объекта '''actor_1''', таким образом в переменную '''x_cor''' запишется положение по '''x''' объекта '''actor_1'''. Поле '''user''' в данном случае в '''1''' не обязательно устанавливать, так как работа ведется с машинами, а не с опциями. Если бы на месте '''actor_1''' оказался объект '''options''', то это было бы просто необходимо, иначе программа считает значение не из профиля. Далее в '''[[#set|set]]''' выбран объект '''options''',  в параметр '''x_position''' которого будет сохранятся значение переменной '''x_cor''' увеличенной на 50. В поле '''round''' идет округление вычисляемого значения, если оно установлено в 1. Поле '''user ''' установлено в 1, это значит, что параметр '''x_position''' будет сохранен в профиль. После это выполняется сохранение опций путем задания объекту '''options''' состояния '''save'''.&amp;lt;br&amp;gt;&lt;br /&gt;
! ! !ВАЖНО: чтобы выполнить какие-то действия с '''[[#var|var]]''' его обязательно нужно указывать в поле '''val''' в '''set''', при этом, если он используется, то все выражение должно стоять в скобках. Если в поле '''val''' не используется переменная, то скобки необязательны.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Существует также возможность использовать '''[[#var|var]]''' совместно с '''[[#if|if]]''', а также '''[[#var|var]]''' с '''[[#move|move]]'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 Так же добавилась возможность записывать значение переменной в состояние &amp;quot;st&amp;quot;, что значительно уменьшает&lt;br /&gt;
 необходимость в записи 1000 if-ов. При этом, тип переменной в '''[[#var|var]]''' должен быть &amp;quot;строка&amp;quot;.&lt;br /&gt;
 И добавилась возможность записи переменной boolean: ((a)==(b)). true = 1, false = 0. Довольно полезная вещь,&lt;br /&gt;
 если не хотите забивать &amp;quot;память&amp;quot; ненужной математикой.&lt;br /&gt;
&lt;br /&gt;
=== var и if ===&lt;br /&gt;
[[Файл:IF.png|right]]&lt;br /&gt;
При подробном рассмотрении '''[[#if|if]]''' можно заметить, что в нем есть поле '''val''', соответственно в этом поле можно указать переменную. Таким образом в поле '''val''' необязательно указывать константу, а можно указать какую-то переменную, которая может постоянно изменяться. Например, существует два объекта, один находится состоянии покоя, а другой находится в движении. При этом первый объект (тот, который в состоянии покоя) постоянно опрашивает положение второго объекта, и в случае, если у объекта, который движется, '''х''' координата  равна '''х''' координате первого объекта, то первый объект входит в состояние, где он начинает свое движение. На рисунке показан объект, который находится в состоянии покоя, рассмотрим его состояния:&amp;lt;br&amp;gt;&lt;br /&gt;
В данном объекте существует два состояния: '''init''' и '''move'''. В '''init''' объект опрашивает другой объект и в случае, когда условие срабатывает, то переходит в состояние '''move''', где начинает свое движение.&lt;br /&gt;
В '''init''' создаем переменную, в которую записываем положение по '''x''' объекта '''actor_2''', в '''if''' проверяется условие на соответствие координат объектов '''actor_1''' и '''actor_2''', в данном случае координата объекта '''actor_2''' представлена в виде переменной '''x_cor'''. Если условие выполняется, то происходит переход в состояние '''move''', если нет, то заново проходим состояние '''init''' и повторяем вышеописанную последовательность действий.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== var и move ===&lt;br /&gt;
Также с помощью '''[[#var|var]]''' есть возможность указать целевые координаты в '''[[#move|move]]'''. То есть, не обязательно указывать целевые координаты в виде констант, их можно указать теперь с помощью переменных. При использовании '''[[#var|var]]''' и '''[[#move|move]]''' можно организовать обмен двух объектов местами с анимацией движения. Для этого необходимо определять какой объект нажат первым, а какой вторым, сохранять их координаты через объект '''options''' и только потом менять их местами. На рисунке можно увидеть, как это организовано.&lt;br /&gt;
[[Файл:var_move.png|1000px|thumb|center|]]&lt;br /&gt;
Рассмотрим подробнее состояние данной машины:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''init'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии ожидаем клик на объект и обнуляем параметр, который отвечает за то, какой по счету объект сейчас нажат. Так, как при обмене объектов, если мы делаем это по клику, важно знать, по какому кликнули  первым, а по какому вторым.&lt;br /&gt;
* '''check'''&amp;lt;br&amp;gt;&lt;br /&gt;
Проверяется параметр '''number''', если он равен '''0''', то это значит, что еще ничего не кликали и мы переходим в состояние, где в опции записываются координаты этого объекта, который считается нажатым первым. Если не равен '''0''', то считается, что этот объект нажат вторым и переходит в состояние, где в опции записываются координаты этого объекта, который считается нажатым вторым по счету.&lt;br /&gt;
* '''first_object'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии записываются координаты объекта в опции. Чтобы записать координаты в опции используются '''[[#var|var]]''' и '''[[#set|set]]''' упоминаемые выше. В опции координаты первого нажатого объекта сохраняются под параметрами '''x_first''' и '''y_first'''. В конце параметру '''number''' присваиваем значение '''1''', чтобы указать, что следующий нажатый объект будет вторым по счету. &lt;br /&gt;
* '''second_object'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он будет нажатым вторым по счету, то есть после состояния '''check''' объект попадет в это состояние, где он запишет свои текущие координаты под параметрами '''x_second''' и '''y_second'''. Запись координат происходит таким же самым образом, что и в состоянии '''first_object'''. После этого он автоматически переходит в следующее состояние.&lt;br /&gt;
* '''move_first'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он был нажат первым, поэтому он будет двигаться на место второго нажатого объекта, который сохранил свои координаты в параметры'''x_second''' и '''y_second'''. Движение происходит следующим образом: сперва в переменную вычитываем координаты второго объекта, а потом в '''move''' вместо целевых координат записываем переменные, которые обязательно должны быть взяты в скобки.&lt;br /&gt;
* '''move_second'''&amp;lt;br&amp;gt;&lt;br /&gt;
В этом состоянии объект будет в том случае, если он был нажат вторым, поэтому он будет двигаться на место первого нажатого объекта, который сохранил свои координаты в параметры '''x_first''' и '''y_first'''. Движение происходит следующим образом: сперва в переменную вычитываем координаты первого объекта, а потом в '''move''' вместо целевых координат записываем переменные, которые обязательно должны быть взяты в скобки.&lt;br /&gt;
&lt;br /&gt;
В результате проделанных манипуляций с машинами по кликам на две машины, они обменяются местами с анимацией движения. Это может быть очень полезным во многих мини играх!!!&lt;br /&gt;
&lt;br /&gt;
=== Важно знать ===&lt;br /&gt;
* Переменная действует в рамках одного состояния, если нужно, чтобы она была глобальной, нужно сохранить ее в опции и потом в нужный момент считывать ее из опций.&lt;br /&gt;
* Если складываем два числа, то в поле '''val''' они должны быть записаны в скобках: (5+3).&lt;br /&gt;
* Если возникает необходимость написать какое-то более сложное арифметическое вычисление, то следует помнить, что на одно действие приходятся одни скобки. Например: (((5+3)\2)*2).&lt;br /&gt;
* Количество открывающих и закрывающих скобок должно быть одинаковым.&lt;br /&gt;
* В скобках можно писать переменную, если она была объявлена выше: (5+a).&lt;br /&gt;
* Переменная может состоять из цифр и букв и знака нижнего подчеркивания.&lt;br /&gt;
* Иногда бывает необходимым использование '''round''' в '''set''', так например, если какой-то параметр получен с помощью арифметических вычислений и потом используется его в каком-то условии, и условие проверяет параметр, как целочисленное значение, то могут возникнуть ошибки. Так, как число будет записано в следующем виде 123.0000 и программа будет считать, что оно не целочисленное, а дробное. И чтобы избавится от лишних нулей  в дробной части следует округлять число.&lt;br /&gt;
* Действия, которые требуют времени, такие как move, rot, wait и другие перестают работать для уменьшения вычислительной нагрузки на устройство.&lt;br /&gt;
* Действия, которые не требуют времени, такие как set, init и другие продолжают функционировать.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если с помощью переменной менять объекту любой параметр, например, координату X, то она&lt;br /&gt;
запомнится (запишется как значение по умолчанию).&lt;br /&gt;
Тогда при повторном попадании на экран считается не тот X, который указан в свойствах,&lt;br /&gt;
а тот, который установлен через переменную.&lt;br /&gt;
Если нужно при ините экрана возвращать начальные значения параметров,&lt;br /&gt;
то можно сделать это двумя способами:&lt;br /&gt;
- не использовать переменную;&lt;br /&gt;
- создать отдельное состояние, которое будет &amp;quot;вручную&amp;quot; устанавливать начальные значения&lt;br /&gt;
параметрам при ините экрана.&lt;br /&gt;
Если координата (или другой параметр) меняется другим способом, то будут автоматически&lt;br /&gt;
при ините экрана подтягиваться значения из свойств объекта.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Примеры применений ===&lt;br /&gt;
С помощью математики можно организовать следующее:&lt;br /&gt;
* динамические опции (изменение звука и музыки с помощью ползунка);&lt;br /&gt;
* анимацию каунтера в играх (по окончанию уровня можно наблюдать, как изменяются очки);&lt;br /&gt;
* подсчет очков (гибкая система подсчета очков);&lt;br /&gt;
* обмен объектов местами (использование var и move)&lt;br /&gt;
* увеличение z-координаты любого объекта (когда необходимо, чтобы нажатый или таскаемый объект был выше других по z);&lt;br /&gt;
* простейший калькулятор;&lt;br /&gt;
* и много других.&lt;br /&gt;
&lt;br /&gt;
== Копирование машины состояния с сохранением ссылки на себя ==&lt;br /&gt;
Довольно часто бывает, что машина состояний ссылается только на глобальные объекты и на саму себя. При этом, если мы просто скопируем объект, он будет ссылаться на свою предыдущую копию. Этого можно избежать, сделав 3 шага:&lt;br /&gt;
1. Переместить объект в отдельную сцену&lt;br /&gt;
2. Скопировать данную сцену(имеется в виду обычное копирование, без ссылки)&lt;br /&gt;
3. Перенести объект и его копию обратно, в нужную сцену&lt;br /&gt;
4. Созданные сцены можно удалить :)&lt;br /&gt;
&lt;br /&gt;
== Guest ==&lt;br /&gt;
&lt;br /&gt;
'''Guest (гость)''' - объект, который перевел машину в текущее состояние. Пример: кнопка ''btn1'' по клику переводит машину ''mch1'' в состояние ''st1'', в этом состоянии у машины ''mch1'' гостем является кнопка ''btn1''. Гостем может быть объект любого типа, если он может менять состояние другому объекту (например: хидден-объект по нахождению может менять состояние объекту, кнопка, машина, пэчворк и т.д.)&lt;br /&gt;
&lt;br /&gt;
В машине состояний можно считывать (проверять) и передавать параметры и состояния гостя. Любое поле ''obj'' в выпадающем списке содержит строку ''guest'', что позволяет работать с гостем, как с любым другим объектом.&lt;br /&gt;
&lt;br /&gt;
=== Пример использования ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Guest1.jpg|left]]&lt;br /&gt;
Пускай экран содержит 3 кнопки (''btn1'', ''btn2'' и ''btn3'') и одну машину ''mch1''. Нужно сделать так, чтобы по клику на любую из кнопок машина перемещалась в ее координаты и переводила кнопку в состояние ''disable''. Так же по клику на кнопку ''btn2'', машина должна перейти в состояние ''bonus''.&amp;lt;br&amp;gt;&lt;br /&gt;
Всем трем кнопкам по клику пропишем передавать объекту ''mch1'' состояние ''check''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Создадим в машине три состояния: ''init'' - состояние в котором машина будет находиться по умолчанию, ''check'' - состояние, которое будет вызываться тремя кнопками, в этом состоянии у машины ''mch1'' одна из трех кнопок будет гостем, ''bonus'' - последнее состояние.&amp;lt;br&amp;gt;&lt;br /&gt;
Две команды ''var'' считывают у гостя координаты, т.к. мы не знаем, какая именно кнопка перевела машину ''mch1'' в состояние ''check'', то обращаемся к гостю, а не к кнопкам. За ними следует две команды ''set'', которые передают координаты гостя машине. Еще один ''set'' переводит гостя в состояние ''disable''. И через ''wait'' осуществляется переход в состояние ''bonus'', если гость ''btn2''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
При смене состояния гость сохраняется, т.е. в состоянии bonus гостем останется btn2.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Если машина изначально сама себе меняет состояния, то у нее нет гостя.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Guest2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Массив (Array) ==&lt;br /&gt;
&lt;br /&gt;
В данном объекте реализован массив, имеющий максимальную длину в 20 элементов.&lt;br /&gt;
&lt;br /&gt;
=== Свойства объекта массив: ===&lt;br /&gt;
&lt;br /&gt;
len - длинна массива. Длинна массива может как считываться, так и записываться. Влияет на количество сохраняемых объектов в Options.&lt;br /&gt;
&lt;br /&gt;
index1 - индекс элемента. (данный массив можно расширить до многомерного и использовать несколько индексов)&lt;br /&gt;
&lt;br /&gt;
val - значение элемента массива, с индексом index1&lt;br /&gt;
&lt;br /&gt;
a1..a20 - внутренние элементы массива(обращаться можно через свойство par объекта). Предполагается, что пользователь редактора к ним обращаться напрямую не будет, однако иногда для удобства полезны.&lt;br /&gt;
&lt;br /&gt;
=== Состояния объекта массив: ===&lt;br /&gt;
&lt;br /&gt;
get - при вызове этого состояния во внутреннюю переменную val записывается значение элемента с индексом index1&lt;br /&gt;
&lt;br /&gt;
set - при вызове этого состояния во внутреннюю переменную a1..a20, соответствующую индексу index1 записывается значение val&lt;br /&gt;
&lt;br /&gt;
load - загрузить значения массива из xml.&lt;br /&gt;
&lt;br /&gt;
save - сохранить элементы массива от 1 до len&lt;br /&gt;
&lt;br /&gt;
=== Как использовать? ===&lt;br /&gt;
&lt;br /&gt;
1. Загружаем массив, переводя объект array в состояние load&lt;br /&gt;
&lt;br /&gt;
2. Записываем значения массива&lt;br /&gt;
&lt;br /&gt;
 а). Задаём значение свойству index1 объекта array (устанавливаем индекс ячейки, в которую будет заноситься число)&lt;br /&gt;
 б). Задаём значение свойству val объекта array (устанавливаем значение, которое будет заноситься в ячейку&lt;br /&gt;
     с индексом index1)&lt;br /&gt;
 в). Переводим объект array в состояние set&lt;br /&gt;
&lt;br /&gt;
3. Считываем значения массива&lt;br /&gt;
 а). Задаём значение свойству index1 объекта array (устанавливаем индекс ячейки, из которой будет считываться число)&lt;br /&gt;
 б). Переводим объект array в состояние get&lt;br /&gt;
 в). Считываем значение из свойства val объекта array&lt;br /&gt;
&lt;br /&gt;
4. Сохраняем массив, переводя объект array в состояние save. Если хотите изменить количество сохраняемых элементов - предварительно измените параметр len.&lt;br /&gt;
&lt;br /&gt;
=== Копирование объекта ===&lt;br /&gt;
&lt;br /&gt;
При копировании, необходимо заменить в состояниях load и save array.имя_параметра на другое имя. Например, array2.имя_параметра. Копировать следует через использование доп. сцены (см. выше)&lt;br /&gt;
&lt;br /&gt;
=== Достоинства ===&lt;br /&gt;
&lt;br /&gt;
Позволяет избежать необходимости каждый раз создавать большое количество if-ов и set-ов, если необходимо работать с нумерованным списком. Можно один раз создать структуру и копировать её неограниченное количество раз&lt;br /&gt;
&lt;br /&gt;
=== Недостатки ===&lt;br /&gt;
&lt;br /&gt;
Данный объект содержит довольно большое количество кода, поэтому при большом их обилии/длине может занизить скорость работы сцены и скорость загрузки сцены.&lt;br /&gt;
&lt;br /&gt;
=== Исходный XML код===&lt;br /&gt;
Прим. id=&amp;quot;369&amp;quot; - идентификатор объекта Options, сохраняющего все переменные приложения. id=&amp;quot;7845&amp;quot; - идентификатор объекта&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;obj id=&amp;quot;7845&amp;quot; type=&amp;quot;machine&amp;quot; nm=&amp;quot;array&amp;quot; sync=&amp;quot;1&amp;quot; w=&amp;quot;1&amp;quot; h=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;init&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;get&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;set&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;val&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;val&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot; val=&amp;quot;(val)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;index1&amp;quot; val=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;load&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a1&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a2&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a3&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a4&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a5&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a6&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a7&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a8&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a9&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a10&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a11&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a12&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a13&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a14&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a15&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a16&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a17&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a18&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a19&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a20&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
                &amp;lt;st id=&amp;quot;save&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;len&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a1&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a2&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a3&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a4&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a5&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a6&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a7&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a8&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a9&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a10&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a11&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a12&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a13&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a14&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a15&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a16&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a17&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a18&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a19&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;var nm=&amp;quot;a20&amp;quot; obj=&amp;quot;7845&amp;quot; par=&amp;quot;a20&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a1&amp;quot; val=&amp;quot;(a1)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a2&amp;quot; val=&amp;quot;(a2)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a3&amp;quot; val=&amp;quot;(a3)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a4&amp;quot; val=&amp;quot;(a4)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a5&amp;quot; val=&amp;quot;(a5)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a6&amp;quot; val=&amp;quot;(a6)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a7&amp;quot; val=&amp;quot;(a7)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a8&amp;quot; val=&amp;quot;(a8)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a9&amp;quot; val=&amp;quot;(a9)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a10&amp;quot; val=&amp;quot;(a10)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a11&amp;quot; val=&amp;quot;(a11)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a12&amp;quot; val=&amp;quot;(a12)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a13&amp;quot; val=&amp;quot;(a13)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a14&amp;quot; val=&amp;quot;(a14)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a15&amp;quot; val=&amp;quot;(a15)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a16&amp;quot; val=&amp;quot;(a16)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a17&amp;quot; val=&amp;quot;(a17)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a18&amp;quot; val=&amp;quot;(a18)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a19&amp;quot; val=&amp;quot;(a19)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.a20&amp;quot; val=&amp;quot;(a20)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot; if=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;set obj=&amp;quot;369&amp;quot; par=&amp;quot;array.len&amp;quot; val=&amp;quot;(len)&amp;quot; round=&amp;quot;1&amp;quot; user=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;12&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;14&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;15&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;16&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;17&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;18&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;if obj=&amp;quot;7845&amp;quot; par=&amp;quot;len&amp;quot; op=&amp;quot;&amp;amp;gt;&amp;quot; val=&amp;quot;19&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/st&amp;gt;&lt;br /&gt;
            &amp;lt;/obj&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машина состояний объекта ===&lt;br /&gt;
[[Файл:array.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пример использования ==&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/machine.rar Download]&lt;br /&gt;
&lt;br /&gt;
== Clone ==&lt;br /&gt;
Clone - параметр команды init в разделе &amp;quot;системные действия&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Clone1.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Значение 1 означает, что в текущем местоположении машины будет создана ее копия.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Clone2.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Свойства ===&lt;br /&gt;
&lt;br /&gt;
1) Клонированная машина состояний имеет все свойства, состояния и параметры исходного объекта клонирования.&lt;br /&gt;
&lt;br /&gt;
2) Клоны рождаются и умирают в рамках одного экрана.&lt;br /&gt;
&lt;br /&gt;
3) Клоны отличаются друг от друга лишь параметром '''clone_num''', который у оригинала равен &amp;quot;-1&amp;quot;, а у клонов от 0 до N.&lt;br /&gt;
&lt;br /&gt;
4) Нежелательно применять клонирование к клону во избежание путаницы значений параметра '''clone_num'''.&lt;br /&gt;
&lt;br /&gt;
5) Если при проверке условия [[#if|if]] в поле '''obj''' указать this, это значит что if будет проводить проверку текущего объекта.  Таким образом машина может сама себя проверить по параметру '''clone_num''' клон ли она и если да то какой у нее номер;&lt;br /&gt;
&lt;br /&gt;
=== Пример использования ===&lt;br /&gt;
&lt;br /&gt;
По ссылке пример использования с подробным описанием машин.&lt;br /&gt;
&lt;br /&gt;
[http://fs5.absolutist.com/files/wikisample/Clone.zip Download]&lt;br /&gt;
&lt;br /&gt;
== Параметр команды машины состояний ==&lt;br /&gt;
&lt;br /&gt;
В случае, когда необходимо изменить значение какого-либо параметра в командах машины состояний (например v в команде move) в процессе работы приложения, можно использовать блок &amp;quot;Параметр команды машины состояний&amp;quot; в команде ''set'' машины состояний. Приведу пример использования этого блока.&lt;br /&gt;
&lt;br /&gt;
Пусть есть 2 машины: управляющая и управляемая.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Stm1.jpg|300px]][[Файл:Stm2.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
Управляемая машина практически пустая и не содержит каких либо данных о движении, но тем не менее при запуске она будет двигаться, меняя направление. Это движение - заслуга управляющей машины, которая на ходу изменяет параметры движения управляемой. Рассмотрим более детально ее состояния.&lt;br /&gt;
&lt;br /&gt;
В первом состоянии &amp;quot;wait&amp;quot; мы пытаемся изменить скорость движения управляемой машины. Для этого указали объект (sun), состояние в котором хотим поменять параметр (у машины sun это состояние move), имя команды в которой меняем параметр (в данном случае это move), номер команды (если таких команд несколько, то нужно указать порядковый номер начиная с 0; в нашем случае команда одна), имя параметра (мы хотим изменить скорость, поэтому имя параметра v) и значение (указали значение 200). После этого переходим в следующее состояние.&lt;br /&gt;
&lt;br /&gt;
В состоянии &amp;quot;1&amp;quot; управляющей машины сначала мы вывели объект sun из состояния move, изменили параметр целевой координаты x на 512 и затем вернули в состояние move, чтобы применить изменения параметров. Таким образом управляемая машина начала движение в x=512 со скоростью 200. Через 2 секунды мы переводим управляющую машину в состояние &amp;quot;2&amp;quot;, где аналогичным образом изменяется целевая координата на -512.&lt;br /&gt;
&lt;br /&gt;
Такой способ задания параметров может найти применение в случае, когда параметры нужно задавать переменными.&lt;br /&gt;
&lt;br /&gt;
==Запись в viewer.log ==&lt;br /&gt;
&lt;br /&gt;
Во время работы приложения, машина состояний может писать информацию о своей работе в viewer.log. Для этого параметр '''Level''', в разделе '''[GameTrace]''' файла '''app.icf''' должен быть выставлен в значение '''Verbose'''.&lt;br /&gt;
&lt;br /&gt;
При этом нужно иметь ввиду, что приложение работает более медленно, чем при обычном использовании. При настройке процессов, привязанных к времени (анимация и т.д.) логирование нужно отключать, путем установки флага '''Level''' в значение '''Info'''.&lt;br /&gt;
&lt;br /&gt;
Ниже приведен пример записи из viewer.log. Жирным шрифтом выделено полезную информацию. &lt;br /&gt;
&lt;br /&gt;
*Machine::state() state machine '''stat_google_gold (id:30818)''' from '''enough_coins''' to '''enough_coins''' through object '''c_current_gold (id:8807)''' from state '''inc''' - машина с именем и id: '''stat_google_gold (id:30818)''' перешла из состояния: '''enough_coins''' в: '''enough_coins'''; ее состояние изменил объект с именем и id: '''c_current_gold (id:8807)''' из состояния: '''inc'''.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:17''' - машина с id '''(id:28076)''' начала выполнять команду '''set id:17'''; сначала проверяется истинно ли условие выполнения команды (if).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(0)=no''' - имеем некоторое сложное условие, проверяем его составляющие; if(0) не выполняется (имеет значение false).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(1)=yes''' - условие if(1) выполняется (имеет значение true).&lt;br /&gt;
*GMachine::Command::calcExpr() GMachine::Command::calcExpr ((0|(!1))|(!2)) '''checkIf(2)=yes''' - условие if(2) выполняется (имеет значение true).&lt;br /&gt;
*GMachine::Command::checkIf() GMachine'''(id:28076)'''::Command::'''checkIf id:17 expr:((0|(!1))|(!2)) res:false''' - проверяется все выражение; общий результат false, set(17) не выполняется.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18''' - машина с id '''(id:28076)''' начала выполнять команду '''set id:18''', в данном set условие if отсутствует.&lt;br /&gt;
*GMachine::Command::checkIf() GMachine'''(id:28076)'''::Command::'''checkIf id:18 expr: res:true''' - в команде set(18) условие '''checkIf id:18 expr: res:true''' есть истинно (точнее - не есть ложным, так как оно отсутствует); set(18) будет выполнен.&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18 checkIf success''' - проверка условия прошла успешно, выполняем set(18).&lt;br /&gt;
*GMachine::Set::init() GMachine'''(id:28076)'''::Set::init '''set id:18 obj:16039 -&amp;gt; par:param_name val:bundle_coins us:0''' - результат выполнения set(18) - объекту '''obj:16039''' устанавливаем параметр '''par:param_name val:bundle_coins''' равным '''us:0'''.&lt;br /&gt;
*GMachine::Command::getVarValue() Command::'''getVarValue(bundle_item): float result = 0.00''' - вычитываем переменную с помощью команды var; вычитываем параметр '''bundle_item''', результат операции '''float result = 0.00'''.&lt;br /&gt;
*GMachine::Set::init() Set::init: Expression: '''(bundle_coins)=0.000000(float)''' - используем значение переменной в команде set; переменная вчитывается в момент обращения к ней из другой команды (set, move и др.).&lt;br /&gt;
&lt;br /&gt;
==Использование скриптов Lua ==&lt;br /&gt;
В машине состояний можно использовать скрипты [[Lua]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Окно==&lt;br /&gt;
В свойствах машины состояний есть 2 новых поля:&lt;br /&gt;
*'''окно''' - если ''да'', то машина считает себя окном. При включении данного параметра с момента постановки окна в очередь ''statesmanager'а'' и до вызова ''back'' в текущей машине блокируются внешние воздействия и переход между состояниями.&lt;br /&gt;
*'''тип окна''' - обычное; по альфе - при открытии отключает все нижние сцены по альфе; с фото - при открытии отключает все нижние сцены по альфе, предварительно делая фото этих сцен. Выключение сцен ''по альфе'' и ''с фото'' используются для больших окон основной очереди.&lt;br /&gt;
[[mwindow]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9498</id>
		<title>Partnersconsole</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9498"/>
		<updated>2018-04-10T06:30:01Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''partnersconsole''' -  объект обмена опциями с партнерами.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id объекта''' (id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя''' (name)   - Имя объекта в дереве проекта. Может быть произвольным.&lt;br /&gt;
&lt;br /&gt;
=== Состояния ===&lt;br /&gt;
*'''start''' -  Это состояние нужно вызывать в начале уровня.&lt;br /&gt;
*'''game_over''' -  Это состояние нужно вызывать в конце уровня.&lt;br /&gt;
*'''post_highscore''' -  Состояние для отправки нового рекорда. Рекорд предварительно нужно записать в параметр highscore объекта. Вызывается при получении рекорда.&lt;br /&gt;
*'''get_options''' -  Состояние для получения опций. Вызывается обычно при старте игры. При получении опций происходит автоматическая перезагрузка лейаута. Срабатывает только 1 раз, дополнительные проверки не требуются.&lt;br /&gt;
*'''send_options''' -  Состояние для отправки опций. Вызывается обычно в конце уровня.&lt;br /&gt;
&lt;br /&gt;
=== Добавляемые параметры ===&lt;br /&gt;
*'''Изменить состояние объекта - начало новой игры''' (game_event_play) -  Была нажата внешняя кнопка Play, необходим перезапуск игры.&lt;br /&gt;
*'''Изменить состояние объекта - показать окно завершения игры''' (game_event_show_menu) -  Нужно показать окно завершения игры.&lt;br /&gt;
*'''Изменить состояние объекта - скрыть окно завершения игры''' (game_event_hide_menu) -  Нужно закрыть окно завершения игры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9493</id>
		<title>Partnersconsole</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9493"/>
		<updated>2018-04-03T07:44:53Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''partnersconsole''' -  объект обмена опциями с партнерами.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id-объекта'''(id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя'''(name)   - Имя объекта в дереве проекта. Может быть произвольным.&lt;br /&gt;
&lt;br /&gt;
=== Состояния ===&lt;br /&gt;
*'''start''' -  Это состояние нужно вызывать в начале уровня.&lt;br /&gt;
*'''game_over''' -  Это состояние нужно вызывать в конце уровня.&lt;br /&gt;
*'''highscore''' -  Состояние для отправки нового рекорда. Рекорд предварительно нужно записать в параметр highscore объекта. Вызывается при получении рекорда.&lt;br /&gt;
*'''send_options''' -  Состояние для отправки опций. Вызывается обычно в конце уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9492</id>
		<title>Partnersconsole</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Partnersconsole&amp;diff=9492"/>
		<updated>2018-04-03T07:44:24Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: Новая страница: «{{TOC right}}  '''partnersconsole''' -  объект обмена опциями с партнерами.&amp;lt;br&amp;gt;  == Параметры == *'''id-объекта'''(i…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''partnersconsole''' -  объект обмена опциями с партнерами.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id-объекта'''(id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя'''(name)   - Имя объекта в дереве проекта. Может быть произвольным.&lt;br /&gt;
&lt;br /&gt;
=== Состояния ===&lt;br /&gt;
*'''start'''(videos) -  Это состояние нужно вызывать в начале уровня.&lt;br /&gt;
*'''game_over''' (sounds)-  Это состояние нужно вызывать в конце уровня.&lt;br /&gt;
*'''highscore''' (fonts)-  Состояние для отправки нового рекорда. Рекорд предварительно нужно записать в параметр highscore объекта. Вызывается при получении рекорда.&lt;br /&gt;
*'''send_options''' (configs)-  Состояние для отправки опций. Вызывается обычно в конце уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9491</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9491"/>
		<updated>2018-04-03T07:39:10Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Main objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
== Новости ==&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
== AppSalute Game Сreator ==&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
== Обучение ==&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&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;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
== Встроенные объекты редактора==&lt;br /&gt;
&lt;br /&gt;
=== Common objects  ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
=== Main objects ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[Scriptresources]] - scriptresources&lt;br /&gt;
* [[Файл:Kub.png]] - [[Partnersconsole]] - partnersconsole&lt;br /&gt;
&lt;br /&gt;
=== Game mechanic ===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
** [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
*** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
*** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
=== Global score ===&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
=== Social ===&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Scriptresources&amp;diff=9487</id>
		<title>Scriptresources</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Scriptresources&amp;diff=9487"/>
		<updated>2018-03-30T09:18:38Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''scriptresources''' -  объект применяется для того, чтобы в экспорт попадали ресурсы, которые используются в скриптах и которых нет в лэйауте.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id-объекта'''(id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя'''(name)   - Имя объекта в дереве проекта. Может быть произвольным.&lt;br /&gt;
*'''синхронизация''' (sync)- Применяется для синхронизации между лейаутами, если указан параметр  ''нет'' то объект будет активен только на текущем лейауте&lt;br /&gt;
*'''тексты''' (textResources)  - Список текстовых ресурсов (перетаскиваются из текстовой базы).&lt;br /&gt;
*'''изображения''' (graphResources) -  Список графических ресурсов (перетаскиваются из базы ресурсов).&lt;br /&gt;
&lt;br /&gt;
=== Добавляемые параметры ===&lt;br /&gt;
*'''Видео ресурс'''(videos) -  Видео ресурс (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''Звук''' (sounds)-  Звук (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''Шрифт''' (fonts)-  Шрифт (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''Файл конфигураций''' (configs)-  Файл конфигураций (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''3D модель''' (models)-  3D модель (перетаскивается из базы ресурсов).&lt;br /&gt;
&lt;br /&gt;
Добавляемых параметров может быть сколько угодно.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Scriptresources&amp;diff=9486</id>
		<title>Scriptresources</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Scriptresources&amp;diff=9486"/>
		<updated>2018-03-30T09:17:39Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: Новая страница: «{{TOC right}}  '''scriptresources''' -  объект применяется для того, чтобы в экспорт попадали ресурсы, кот…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''scriptresources''' -  объект применяется для того, чтобы в экспорт попадали ресурсы, которые используются в скриптах и которых нет в лэйауте.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
*'''id-объекта'''(id) - уникальный номер объекта&lt;br /&gt;
*'''тип''' (type) - Выбранный тип объекта определяет его функциональное назначение и его свойства&lt;br /&gt;
*'''имя'''(name)   - Имя графического объекта в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов.&lt;br /&gt;
*'''синхронизация''' (sync)- Применяется для синхронизации между лейаутами, если указан параметр  ''нет'' то объект будет активен только на текущем лейауте&lt;br /&gt;
*'''тексты''' (textResources)  - Список текстовых ресурсов (перетаскиваются из текстовой базы).&lt;br /&gt;
*'''изображения''' (graphResources) -  Список графических ресурсов (перетаскиваются из базы ресурсов).&lt;br /&gt;
&lt;br /&gt;
=== Добавляемые параметры ===&lt;br /&gt;
*'''Видео ресурс'''(videos) -  Видео ресурс (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''Звук''' (sounds)-  Звук (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''Шрифт''' (fonts)-  Шрифт (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''Файл конфигураций''' (configs)-  Файл конфигураций (перетаскивается из базы ресурсов).&lt;br /&gt;
*'''3D модель''' (models)-  3D модель (перетаскивается из базы ресурсов).&lt;br /&gt;
&lt;br /&gt;
Добавляемых параметров может быть сколько угодно.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Main objects]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9485</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9485"/>
		<updated>2018-03-30T08:32:19Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Main objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
== Новости ==&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
== AppSalute Game Сreator ==&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
== Обучение ==&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&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;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
== Встроенные объекты редактора==&lt;br /&gt;
&lt;br /&gt;
=== Common objects  ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
=== Main objects ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[Scriptresources]] - scriptresources&lt;br /&gt;
&lt;br /&gt;
=== Game mechanic ===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
** [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
*** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
*** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
=== Global score ===&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
=== Social ===&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9484</id>
		<title>Absolutist Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Absolutist_Framework&amp;diff=9484"/>
		<updated>2018-03-30T08:31:49Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Main objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
'''[[:category:main|Категории]]'''&lt;br /&gt;
== Новости ==&lt;br /&gt;
Вышла новая игра HOG созданная с помощью AppSalute Game Сreator. Созданы новые уникальные эффекты и механики для обеспечения незабываемых впечатлений.&lt;br /&gt;
Описание и видео:&lt;br /&gt;
http://time-gap.com/&lt;br /&gt;
&lt;br /&gt;
== AppSalute Game Сreator ==&lt;br /&gt;
* [[Примеры приложений]]&lt;br /&gt;
* [[Введение в AppSalute Game Сreator]]&lt;br /&gt;
* [[Установка и настройка]]&lt;br /&gt;
* [[Интерфейс ScenceEditor ]]&lt;br /&gt;
* [[Интерфейс ResourceEditor ]]&lt;br /&gt;
* [[Интерфейс TextEditor ]]&lt;br /&gt;
*[[Интерфейс Viewer ]]&lt;br /&gt;
* [[Книга жалоб и пожеланий]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Внешние утилиты]]&lt;br /&gt;
&lt;br /&gt;
== Обучение ==&lt;br /&gt;
&lt;br /&gt;
* [[Learning|Уроки по освоению фреймворка]]&lt;br /&gt;
* [[Примеры реализации в играх]]&lt;br /&gt;
* [[Основные понятия объектов физического мира]]&lt;br /&gt;
* [[Использование AppSalute Debugger при отладке]]&lt;br /&gt;
* [[Отладка на флеше]]&lt;br /&gt;
* [[FAQ]]&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;
* [[Конфигурация проекта для сборки]]&lt;br /&gt;
* [[Подготовка для загрузки на маркеты]]&lt;br /&gt;
* [[Сборка проекта]]&lt;br /&gt;
* [[Частые ошибки]]&lt;br /&gt;
* [[Отличия подготовки проекта для разных платформ]]&lt;br /&gt;
* [[Lua|Использование lua-скриптов]]&lt;br /&gt;
* [[Подготовка версии для Viber]]&lt;br /&gt;
* [[Проверка подгрузки текстур]]&lt;br /&gt;
* [[Экспорт проекта]]&lt;br /&gt;
* [[Шаблон|Экспорт/импорт шаблона проекта]]&lt;br /&gt;
&lt;br /&gt;
== Встроенные объекты редактора==&lt;br /&gt;
&lt;br /&gt;
=== Common objects  ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Screen.png]] - [[Screen]]'' - экран&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Scene.png]] - [[Scene]]'' - сцена&lt;br /&gt;
&lt;br /&gt;
=== Main objects ===&lt;br /&gt;
&lt;br /&gt;
''[[Файл:Objects.png]] - [[Object]]'' - общие параметры для всех игровых объектов&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Azmanager]] - менеджер активных зон&lt;br /&gt;
* [[Файл:Kub.png]] - [[Active zone]] - активная зона&lt;br /&gt;
* [[Файл:Picture.png]] - [[Image]] - картинка&lt;br /&gt;
* [[Файл:Kub.png]] - [[Statistic]] - объект для отправки событий статистики.&lt;br /&gt;
* [[Файл:Button.png]] - [[Button]] - кнопка&lt;br /&gt;
* [[Файл:Text.png]] - [[Text]] - текст&lt;br /&gt;
* [[Файл:Machine.png]] - [[Machine]] - машина состояний&lt;br /&gt;
** [[Файл:Mwindow.png]] - [[Mwindow]] - машина состояний - окно&lt;br /&gt;
* [[Файл:Tableicon.png]] - [[Table]] - таблица&lt;br /&gt;
* [[Файл:Checkbox.png]] - [[Checkbox]] - чекбокс (кнопка в 2-х состояниях)&lt;br /&gt;
* [[Файл:Checkgroup.png]] - [[Groupbox]] - группа, содержащая несколько чекбоксов&lt;br /&gt;
* [[Файл:Timer.png]] - [[Timer]] - цифровой таймер&lt;br /&gt;
** [[Файл:Kub.png]] - [[Globaltimer]] - таймер &amp;quot;реального времени&amp;quot;&lt;br /&gt;
* [[Файл:Counter2.png]] - [[Counter]] - счетчик сделанных кликов в игре и т.п.&lt;br /&gt;
* [[Файл:Progressbar.png]] - [[Progress]] - прогресс прохождения игры (эчивмент)&lt;br /&gt;
* [[Файл:Particle.png]] - [[Flyer]] - флаер (патиклы)&lt;br /&gt;
* [[Файл:Rectangle.png]] - [[Rectangle]] - прямоугольник&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomover]] - объект движения в изометрической карте&lt;br /&gt;
* [[Файл:Group.png]] - [[Group]] - группа&lt;br /&gt;
* [[Файл:Groupset.png‎]] - [[Groupset]] - группа&lt;br /&gt;
* [[Файл:Effect.jpg|20px]] - [[Effect]] - Создание различных эффектов&lt;br /&gt;
* [[Файл:Graphprogress.png]] - [[Graphprogress]] - создание мини-карты для отображения прогресса прохождения игры.&lt;br /&gt;
* [[Файл:Statesmanager_ico.png]] - [[Statesmanager]] - очередь работы с объектами&lt;br /&gt;
* [[Файл:Slider icons.png]] - [[Slider]] - объект реализующий листание списка.&lt;br /&gt;
* [[Файл:Ribbon.png]] - [[Ribbon]] - объект отображения графики по сплайну&lt;br /&gt;
* [[Файл:Kub.png]] - [[Animation]] - объект различных анимаций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Magicparticles]] - объект файлов Magic Particles&lt;br /&gt;
* [[Файл:Kub.png]] - [[puzzle3D]] - 3D паззл&lt;br /&gt;
* [[Файл:Kub.png]] - [[3D-object]] - 3D объект&lt;br /&gt;
* [[Файл:Kub.png]] - [[scriptresources]] - scriptresources&lt;br /&gt;
&lt;br /&gt;
=== Game mechanic ===&lt;br /&gt;
&lt;br /&gt;
* [[Файл:Kub.png]] - [[Avoider]] - эвойдер&lt;br /&gt;
* [[Файл:Kub.png]] - [[Battle]] - боевка&lt;br /&gt;
* [[Файл:Puzzle.png]] - [[Puzzle]] - игра пазл&lt;br /&gt;
* [[Файл:Memory.png]] - [[Memory]] - класс игр с memory-механикой&lt;br /&gt;
* [[Файл:Patchwork.png]] - [[Patchwork]] - класс игр с Patchwork-механикой&lt;br /&gt;
* [[Файл:Match3.png]] - [[Match]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Collaps.png]] - [[Collapse]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bejewelled.png]] - [[Bejewelled]] - класс match-подобных игр&lt;br /&gt;
* [[Файл:Bs_old.png]] - [[Bubble Shooter]] - класс Bubble игр включая механику Снукер&lt;br /&gt;
* [[Файл:BubbleShooter.png]] - [[Bubble Shooter NEW]] - класс Bubble игр включая механику Снукер (Новый)&lt;br /&gt;
* [[Файл:Tapthebubble.png]] - [[TapTheBubble]] - механика игры Tap The Bubble&lt;br /&gt;
* [[Файл:GemSlider.jpg]] - [[Gem Slider]] - механика игры Gem Slider&lt;br /&gt;
* [[Файл:W-57.png]] - [[Words]] - механика игры Words&lt;br /&gt;
* [[Файл:Kub.png]] - [[2048]] - механика игры 2048&lt;br /&gt;
* [[Файл:Kub.png]] - [[Planet]] - игра &amp;quot;Планетки&amp;quot;&lt;br /&gt;
* [[Файл:Kub.png]] - [[Unblock]] - механика игры unblock&lt;br /&gt;
* [[Файл:Matchbattle.png]] - [[Match Battle]] - настройка глобальных параметров для мини-игр&lt;br /&gt;
* [[Файл:Move box.png]] - [[DragBox]] - класс игр с dragbox-механикой&lt;br /&gt;
* [[Файл:Labyrinth.png]] - [[Labyrinth]] - класс игр лабиринт&lt;br /&gt;
* [[Файл:Pipes.png]] - [[Pipes]] - класс игр трубы&lt;br /&gt;
* [[Файл:Search object.png]] - [[HiddenObject]] - поисковый объект в хидден играх&lt;br /&gt;
* [[Файл:Object list.png]] - [[HiddenList]] - список поисковых объектов в хидден играх&lt;br /&gt;
* [[Файл:Hint.png]] - [[HiddenHint]] - подсказка (указатель на спрятанный объект)&lt;br /&gt;
* [[Файл:Kub.png]] - [[HiddenHighLighter]] - позволяет показать не найденные объекты в хиддене.&lt;br /&gt;
* [[Файл:Collection.png]] - [[Collection]] - &amp;quot;коллекция&amp;quot; поисковых объектов для хидден игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Color Switch]] - механика игры Color Switch&lt;br /&gt;
* [[Файл:Inventory.png]] - [[Inventory]] - &amp;quot;инвентарь&amp;quot; список применяемых объектов для игр&lt;br /&gt;
* [[Файл:Tool.png]] - [[Tool]] - &amp;quot;применение&amp;quot; - объект, который можно применить для игр&lt;br /&gt;
* [[Файл:Kub.png]] - [[Isomap]] - изометрическая карта&lt;br /&gt;
* [[Файл:Slotmachine.png]] - [[Slotmachine]] - объект типа &amp;quot;slot&amp;quot;&lt;br /&gt;
* [[Файл:Economics.png]] - [[Economics]] - глобальная настройка игр типа ферма\билдер&lt;br /&gt;
** [[Файл:E_items.png]] - [[Eitems]] - объект, служащий для связи инвентаря/магазина и экономики &lt;br /&gt;
** [[Файл:E_store_item.png]] - [[Estoreitem]] - шаблон для ячейки магазина &lt;br /&gt;
** [[Файл:E_inventory_item.png]] - [[Einventoryitem]] - шаблон для ячейки инвентаря &lt;br /&gt;
** [[Файл:Kub.png]] - [[Ecraftitem]] - шаблон для ячейки создания предмета.&lt;br /&gt;
** [[Файл:Taskorganizer.png]] - [[Taskorganizer]] - органайзер заданий &lt;br /&gt;
*** [[Файл:Kub.png]] - [[Etasktemplate]] - шаблон задачи для таблицы темплейтов.&lt;br /&gt;
*** [[Файл:Kub.png]] - [[Elogbooktemplate]] - шаблон отображения ячейки логбука.&lt;br /&gt;
** [[Файл:E_task_item.png]] - [[Etaskitem]] - шаблон для ячейки задания&lt;br /&gt;
** [[Файл:E_collection.png]] - [[Ecollection]] - шаблон для строки в таблице коллекции&lt;br /&gt;
* [[Файл:Paint.png‎]] - [[Paint]] - объект для рисования &lt;br /&gt;
* [[Файл:Physicsworld.png]] - [[Physicsworld]] - физический мир Box2D&lt;br /&gt;
** [[Файл:Physicsobject.png]] - [[Physicsobject]] - физические объекты&lt;br /&gt;
** [[Файл:Physics links.png]] - [[Physicsjoint]] - физические соединения&lt;br /&gt;
*  [[Файл:Eraser.png]] - [[Eraser]] - стирачка&lt;br /&gt;
* [[Файл:Kub.png]] - [[trivia]] - игровая механика - миллионер (trivia)&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dailybonus]] - объект для управления механизмом ежедневного бонуса за вход в игру.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pet]] - объект питомца.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetCollectionTemplate]] - объект шаблона ячейки с коллекцией.&lt;br /&gt;
** [[Файл:Kub.png]] - [[PetTemplate]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[CakeTower]] - объект шаблона ячейки с животным.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Pentamino]] - механика игры в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8%D0%BD%D0%BE пентамино]&lt;br /&gt;
* [[Файл:Kub.png]] - [[TapTheNew]]&lt;br /&gt;
* [[Файл:Kub.png]] - [[Dressing]] - гардероб.&lt;br /&gt;
** [[Файл:Kub.png]] - [[Dressingtemplate]] - объект шаблона гардероба.&lt;br /&gt;
* [[Файл:Kub.png]] - [[solitaire]] - солитер&lt;br /&gt;
&lt;br /&gt;
* [[Файл:digitz.png]] - [[Digitz]] - механика игры Digitz.&lt;br /&gt;
* [[Файл:Kub.png]] - [[Wordsearch]] - механика поиска слов на поле&lt;br /&gt;
* [[Файл:Kub.png]] - [[Builder]] - механика типа фермы&lt;br /&gt;
** [[Файл:Kub.png]] - [[Builderitem]] - объект шаблона здания&lt;br /&gt;
** [[Файл:Kub.png]] - [[Buildercomponent]] - шаблон материала для апгрейда здания&lt;br /&gt;
* [[Файл:Kub.png]] - [[Script Game]] - Script Game&lt;br /&gt;
&lt;br /&gt;
=== Global score ===&lt;br /&gt;
* [[Файл:Gamecenter.png]] - [[Gamecenter]] - объект для отправки данных на GameCenter iTunse&lt;br /&gt;
**[[Файл:Kub.png]] - [[Achievementitem]] -  шаблон локального достижения (оффлайн ачивка)&lt;br /&gt;
* [[Файл:Gamecircle.jpg]] - [[Amazon GameCircle]] - объект для отправки данных Amazon GameCircle&lt;br /&gt;
* [[Файл:Google-play-games-android.jpg‎]] - [[Google Play services]] - объект для отправки данных на Google Play services&lt;br /&gt;
* [[Файл:Localtoplist.png]] - [[Localtoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltoplist.png]] - [[Globaltoplist]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
* [[Файл:Globaltopsender.png]] - [[Globaltopsender]] - настройки для отображения результатов прохождения игры&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
* [[Файл:Options.png]] - [[Options]] - общие настройки игры&lt;br /&gt;
* [[Файл:Gamedata.png]] - [[Gamedata]] -&lt;br /&gt;
* [[Файл:Controls.png]] - [[Controls]] - обьект для работы с клавишами клавиатуры или девайса &lt;br /&gt;
* [[Файл:Editicon.png]] - [[Edit]] - ввод текста&lt;br /&gt;
* [[Файл:Store.png]] - [[Store]] - настройки InApp покупок в игре&lt;br /&gt;
** [[Файл:Kub.png]] - [[Wallet]] - объект для начисления игровой валюты при InApp покупках через объект economics&lt;br /&gt;
* [[Файл:Notification.png]] - [[Notification]] - push-уведомления&lt;br /&gt;
* [[Файл:Imagepicker.png]] - [[Imagepiker]] - объект для загрузки фото из галереи&lt;br /&gt;
* [[Файл:Video.png]] - [[Video]] - объект для просмотра видео&lt;br /&gt;
* [[Файл:Webview.png]] - [[Webview]] - объект для просмотра интернет страниц в приложении&lt;br /&gt;
* [[Файл:Flurryobject.png]] - [[Flurry]] - настройки системы статистики для приложений https://dev.flurry.com&lt;br /&gt;
* [[Файл:Moregames.png]] - [[MoreGamesList]] - запрос банеров рекламируемых игр&lt;br /&gt;
* [[Файл:Advertisement.png]] - [[Advertisement]] - банерная система flurry, amazon&lt;br /&gt;
* [[Файл:Splitmanager.png]] - [[Splitmanager or A\B Testing]] - менеджер сплитов&lt;br /&gt;
* [[Файл:Tapjoy.png]] - [[Tapjoy]] - система рекламы игр&lt;br /&gt;
* [[Файл:Playhaven.png|24px]] - [[Playhaven]] - система рекламы игр с внутренними up-sale&lt;br /&gt;
* [[Файл:Mobileapptracker.png|24px]] - [[Mobileapptracking]] -&lt;br /&gt;
* [[Файл:Chartboost-logo-new.jpeg]] - [[Chartboost]] -  Chartboost-logo-new.jpeg&lt;br /&gt;
* [[Файл:Kub.png]] - [[SuperSonic]] -  провайдер рекламы SuperSonic&lt;br /&gt;
* [[Файл:Kub.png]] - [[System]] - объект для доступа к системным настройкам&lt;br /&gt;
* [[Файл:Kub.png]] - [[Salesmanager]] - менеджер акций&lt;br /&gt;
* [[Файл:Kub.png]] - [[Cloud]] - объект для синхронизации в облаке&lt;br /&gt;
* [[Файл:Kub.png]] - [[Game]] - объект для отправки событий&lt;br /&gt;
* [[Файл:Kub.png]] - [[Errormanager]] - менеджер ошибок&lt;br /&gt;
* [[Файл:Kub.png]] - [[Multiplayer]] - объект мультиплеера&lt;br /&gt;
&lt;br /&gt;
=== Social ===&lt;br /&gt;
* [[Файл:Facebook.png]] - [[Facebook]] - настройки расшаривания Facebook&lt;br /&gt;
** [[Файл:Esocialfrienditem.png]] - [[Esocialitem]] - Шаблон для ячейки списка друзей&lt;br /&gt;
** [[Файл:Kub.png]] - [[Esocialgiftitem]] - Шаблон для ячейки с предметом, который можно подарить другу&lt;br /&gt;
** [[Файл:Esocial.png]] - [[Esocial]] - объект для взаимодействия с Facebook'ом&lt;br /&gt;
* [[Файл:Twitter.png]] - [[Twitter]] - настройки расшаривания Twitter&lt;br /&gt;
* [[Файл:Odnoklassniki.png]] - [[Odnoklassniki]] - настройки для социальной сети Одноклассники&lt;br /&gt;
* [[Файл:Googleplus.png]] - [[GooglePlus]] - настройки для социальной сети GooglePlus&lt;br /&gt;
* [[Файл:Kub.png]] - [[ShareDialog]] - объект для вызова окна шаринга в другие приложения устройства&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[Файл:Forward.png]] - [[SendMail]] - отправка письма через почтовый клиент&lt;br /&gt;
* [[Файл:footer-icon-rate.png]] - [[Rate]] - вызов окна оценки приложения&lt;br /&gt;
* [[Файл:Kub.png]] - [[Config]] - конфиг для игровой механики&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Файл:!.png]] - [[Правила оформления]] - Требование к описанию объектов. &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;50px&amp;quot; heights=&amp;quot;50px&amp;quot; &amp;gt;&lt;br /&gt;
Изображение:Who.png&lt;br /&gt;
Изображение:AnimalHideSeek.png&lt;br /&gt;
Изображение:travel.png&lt;br /&gt;
Изображение:Game_Adventure_Train.png&lt;br /&gt;
Изображение:Gmae_Match_MoveTheDolly.png&lt;br /&gt;
Изображение:Game_Patchwork_BigEyes.png&lt;br /&gt;
Изображение:Game_Patchwork_Chameleon.png&lt;br /&gt;
Изображение:Game_Patchwork_Logicly.png‎&lt;br /&gt;
Изображение:Game_Patchwork_Stickers.png‎&lt;br /&gt;
Изображение:Elephant.png&lt;br /&gt;
Изображение:Elephant2.png&lt;br /&gt;
Изображение:Cinderella.png&lt;br /&gt;
Изображение:Pigs.png&lt;br /&gt;
Изображение:Bremenskye.png&lt;br /&gt;
Изображение:Book_SnowWhite.png&lt;br /&gt;
Изображение:Book_PussInBoots.png&lt;br /&gt;
Изображение:Call.png&lt;br /&gt;
Изображение:GreatestArtists.png&lt;br /&gt;
Изображение:Game_Puzzle_Kids.png&lt;br /&gt;
Изображение:Game_Puzzle_Architect.png‎&lt;br /&gt;
Изображение:Game_Puzzle_Science.png&lt;br /&gt;
Изображение:Ico_1_114_Full.png&lt;br /&gt;
Изображение:Game_Adventure_Dreams.png&lt;br /&gt;
Изображение:Abc.png&lt;br /&gt;
Изображение:Ico_114_Full.png&lt;br /&gt;
Изображение:Ico_114_Paints.png&lt;br /&gt;
Изображение:Ico_114_Puzzle.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:main]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9438</id>
		<title>HiddenHint</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9438"/>
		<updated>2018-02-14T13:43:59Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''HiddenHint''' - тип [[Object|объекта]], который используется для управления подсказками в &amp;quot;хидденах&amp;quot;.&lt;br /&gt;
[[Файл:HiddenHint_1.jpg|right]]&lt;br /&gt;
== Общие параметры ==&lt;br /&gt;
&lt;br /&gt;
Смотреть описание [[Object|Object]].&lt;br /&gt;
&lt;br /&gt;
== Основные параметры ==&lt;br /&gt;
&lt;br /&gt;
*'''картинка''' (''res'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Обычно не используется, а применяется для отображения table.&lt;br /&gt;
&lt;br /&gt;
'''Группа - анимация:'''&lt;br /&gt;
*'''тип анимации''' (''animType'') - Тип анимирования сцены;&lt;br /&gt;
*'''сцена''' (''anim_scene'') - Анимируемая сцена;&lt;br /&gt;
*'''скорость''' (''vel'') - Скорость анимирования сцены (имеет смысл для фокусировки);&lt;br /&gt;
*'''восстановить''' (''recover'') - Нужно ли восстанавливать исходное состояние сцены после отработки хинта (по умолчанию да): '''0''' - нет, '''1''' - да;&lt;br /&gt;
*'''время''' (''anim_time'') - Время анимации ( минимум 0);&lt;br /&gt;
*'''отсечение''' (''down_border'') - Нижнее отсечение ( минимум 0).&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:HiddenHint_2.png|right]]&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по нажатию правой кнопки мыши.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка запуска хинта''' (''hnt_err'') - Изменяет состояние объекта при ошибке запуска хинта:&lt;br /&gt;
*'''объект''' (''obj'') - При клике на кнопку перевести объект в состояние из следующего поля;&lt;br /&gt;
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка запуска хинта - у хидденлиста закончились сессии''' (''errSes'') - Изменяет состояние объекта при ошибке запуска хинта:&lt;br /&gt;
*'''объект''' (''obj'') - При клике на кнопку перевести объект в состояние из следующего поля;&lt;br /&gt;
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка хинта - хидденлист разобран''' (''errEnd'') - Изменяет состояние объекта при ошибке запуска хинта:&lt;br /&gt;
*'''объект''' (''obj'') - При клике на кнопку перевести объект в состояние из следующего поля;&lt;br /&gt;
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type1)''' (''hnt1'') - Хинт с партиклами который облетает искомый объект по эллипсу: &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта;&lt;br /&gt;
*'''подлетание''' (''approach''): '''1''' - сначала подлетает к хиддену, '''0''' - начинать облетать сразу;&lt;br /&gt;
*'''позиция (x)''' (''x0'') - Начальная позиция флайера (x);&lt;br /&gt;
*'''позиция (y)''' (''y0'') - Начальная позиция флайера (y);&lt;br /&gt;
*'''скорость подлета''' (''v_line'') - Скорость подлета;&lt;br /&gt;
*'''скорость облета''' (''v_ellipse'') - Скорость облета;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет;&lt;br /&gt;
*'''клонировать указатель''' (''hlclone'') - если выставлен, на искомом предмете соответственно будет клон указателя, который будет удалён только после нахождения предмета или ухода с экрана. При этом параметр '''Перманентный''' должен быть выключен.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type2)''' (''hnt2'') - Хинт с фоновой подложкой;&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка, по нажатию на которую запуcкается  хинт. При нажатии кнопка должна изменить состояние хинту в &amp;quot;start&amp;quot;;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта. Такой себе воркер хинта (та самая подложка которая подсветит объекты). Является ресурсной машиной состояний (''machine''), которая имеет состояние: beg и end;&lt;br /&gt;
*'''время''' (''time'') - Время работы хинта. Устанавливается в миллисекундах;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс). Время, за которое можно будет повторно использовать хинт;&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type3)''' (''hnt3'') - Хинт с подсветкой хидденов партиклами:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка, по нажатию на которую запускается хинт. При нажатии кнопка должна изменить состояние хинту в &amp;quot;start&amp;quot;;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта. Объект типа ''flyer'' или  ''machine'', у которого есть 2 состояния: beg и end;&lt;br /&gt;
*'''время''' (''time'') - Время действия хинта. Устанавливается в миллисекундах.;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда. Время, за которое можно будет повторно использовать хинт. Если хинт заряжается моментально, то ставить не меньше 500 мс.&lt;br /&gt;
*'''нечего подсказывать: объект''' (''fail_obj'') - При отсутствии объектов для подсветки данным хинтом перевести данный объект в новое состояние;&lt;br /&gt;
*'''нечего подсказывать: состояние''' (''fail_st'') - Новое состояние для объекта из предыдущего поля;&lt;br /&gt;
*'''хинт сработал: объект''' (''succ_obj'') - При успешной подсветке объекта данным хинтом перевести данный объект в новое состояние;&lt;br /&gt;
*'''хинт сработал: состояние''' (''succ_st'') - Новое состояние для объекта из предыдущего поля;&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type4)''' (''hnt4'') - Хинт с таскаемым кругом или кольцом: &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка, по нажатию на которую запускается  хинт. При нажатии кнопка должна изменить состояние хинту в &amp;quot;start&amp;quot;;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта. Является ресурсной (полупрозрачная область в виде круга) машиной состояний (''machine''), которая имеет состояние: beg и end. Ее подобъектом может быть кольцо. Таким образом, поисковые объекты будут проявляться между этим кругом и кольцом.&lt;br /&gt;
*'''позиция (x)''' (''x0'') - Стартовая позиция (x), где появляется таскаемый кусок;&lt;br /&gt;
*'''позиция (y)''' (''y0'') - Стартовая позиция (y), где появляется таскаемый кусок;&lt;br /&gt;
*'''подсвечивать все''' (''hint_all''): '''1''' - подсвечивать все хиддены, '''0''' - подсвечивать один рандомно выбранный;&lt;br /&gt;
*'''время''' (''time'') - Время действия хинта. Устанавливается в миллисекундах;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда. Время за которое можно будет повторно использовать хинт. Если хинт заряжается моментально, то ставить не меньше 500 мс;&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type5)''' (''hnt5'') - Хинт с миганием искомого объекта по альфе:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''время''' (''time'') - Время действия хинта;&lt;br /&gt;
*'''прозрачность''' (''alpha'') - Целевая прозрачность как способ прятания объекта;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (искра)''' (''hnt6'') - Хинт с ''искрой'' которая вылетает и указывает расположение искомого объекта:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''хвост''' (''tail'') - Хвост (как у кометы);&lt;br /&gt;
*'''указатель''' (''ptr'') - Объект, зажигающийся на месте хиддена;&lt;br /&gt;
*'''скорость''' (''vel'') - Скорость полета искры к объекту;&lt;br /&gt;
*'''время''' (''tm'') - Время активности указателя;&lt;br /&gt;
*'''x''' (''x'') - Точка вылетания искры (x);&lt;br /&gt;
*'''y''' (''y'') - Точка вылетания искры (y);&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''лететь из таблицы''' (''fromTable'') - Если да, то хинт летит не из заданной точки, а из ячейки таблицы, соответствующей предмету.&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
*'''перманентный''' (''permanent'') - Если да, то хинт не будет завершаться до клика по предмету.&lt;br /&gt;
*'''учитывать скейл сцены''' (''use_anim_stage_scale'') - Учитывать скейл сцены при подсчете координат полета хинта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (цепная молния)''' (''hnt7'') - Хинт с ''цепной молнией'' которая вылетает и поочередно указывает несколько искомых объектов:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''хвост''' (''tail'') - Хвост (как у кометы);&lt;br /&gt;
*'''указатель''' (''ptr'') - Объект, зажигающийся на месте хиддена;&lt;br /&gt;
*'''скорость''' (''vel'') - Скорость полета искры к объекту;&lt;br /&gt;
*'''dt''' (''dt'') - Промежутки между вспышками указателя, если хвост не задан;&lt;br /&gt;
*'''время''' (''tm'') - Время активности указателя;&lt;br /&gt;
*'''x''' (''x ') - Точка вылетания искры (x);&lt;br /&gt;
*'''y''' (''y'') - Точка вылетания искры (y);&lt;br /&gt;
*'''min''' (''min'') - Минимальное количество подсвечиваемых объектов;&lt;br /&gt;
*'''max''' (''max'') - Максимальное количество подсвечиваемых объектов;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
*'''перманентный''' (''permanent'') - Если да, то хинт не будет завершаться до клика по предмету (для корректной работы, нужно включить параметр - &amp;quot;перемещать в сцену&amp;quot;, иначе при утке флаер будет статичен в не зависимости от зума HO сцены).&lt;br /&gt;
*'''перемещать в сцену''' (''change_parent'') - Если да, то хинт будет перемешён в HO сцену во время работы(!!! обязательно указать флаерам прокликиваеммость).&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (остановка таймера)''' (''hnt8'') - Хинт с остановкой таймер на некоторое время:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''таймер''' (''tmr'') - Останавливаемый таймер;&lt;br /&gt;
*'''время''' (''tm'') - Время остановки таймера;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (бомба)''' (''hnt9'') - Хинт с ''бомбой'' которая взрывает несколько объектов.&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''начальная задержка''' (''btm'') - Задержка между началом дрожания и взрывами.&lt;br /&gt;
*'''интервал''' (''etm'') - Интервал между взрывами.&lt;br /&gt;
*'''количество''' (''num'') - Количество взрываемых объектов.&lt;br /&gt;
*'''отклонение''' (''dev'') - Максимальное отклонение сцены во время дрожания.&lt;br /&gt;
*'''интервал дрожания''' (''dtm'') - Интервал между вызовами итераций дрожания.&lt;br /&gt;
*'''конечная задержка''' (''wtm'') - Задержка после взрыва последнего объекта.&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (фонарь)''' (''hnt10'') - Хинт с таскаемым кругом который восстанавливает цветность в своей окружности (работает только при наличии аномалии). &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''эффект''' (''ef'') - Эффект, к которому применяется фонарь.&lt;br /&gt;
*'''радиус''' (''er'') - Радиус фонаря в эффекте.&lt;br /&gt;
*'''border''' (''eb'') - Толщина области перехода между фонарем и полным эффектом.&lt;br /&gt;
*'''время''' (''etr'') - Время остановки таймера.&lt;br /&gt;
*'''время''' (''tm'') - Время активности указателя;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (прогнать аномалию)''' (''hnt11'') - Хинт необходимый для изгнания аномалии прямиком из игры (работает только при наличии аномалии); данный хинт удаляет аномалии привязанные к объекту - effect ( аномалию дым - нужно отключать руками); &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет;&lt;br /&gt;
*'''правило подсветки''' ('''') - ;&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
* '''start''' - Запускает хинт.&lt;br /&gt;
&lt;br /&gt;
== Правила подсветки хинтов ==&lt;br /&gt;
&lt;br /&gt;
Объект хидден хинт может управлять подсветкой кнопок хинтов, чтобы обращать внимание пользователя на подсказки и заставлять его ими пользоваться. Правила подсветки записываются в виде строки:&lt;br /&gt;
[[Файл:Hhint highlight1.png]]&lt;br /&gt;
&lt;br /&gt;
Пять чисел через запятую это: время до конца хидена min, время до конца хидена max, осталось объектов min, осталось объектов max, время с последнего найденного предмета. Времена в миллисекундах. Если нужно сделать несколько правил подсветки для одного хинта, то их нужно разделить вертикальной чертой как показано на картинке.&lt;br /&gt;
&lt;br /&gt;
Когда срабатывает нужное правило, то хидден-хинт переводит машинку из поля &amp;quot;Объект подсветки&amp;quot; в одно из состояний hl%d, где %d - номер хинта. Номер хинта можно узнать наведя мышку на добавляемое свойство. Например, если навести на хинт(искра), то мы увидим hnt6, значит объект подсветки будет переведен в состояние hl6.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&lt;br /&gt;
*HiddenHint обязательно должен быть подключен к [[HiddenList]] для того что бы знать какие объекты ему показывать.&lt;br /&gt;
&lt;br /&gt;
*Если поисковая сцена имеет большее разрешение чем на устройстве, то хинт может ее проскейлить, что бы при подсказке были видны все объекты. Для этого в параметр хинта &amp;quot;сцена&amp;quot; нужно указать сцену, и в этой сцене настроить параметры &amp;quot;Открытие&amp;quot; и &amp;quot;Закрытие&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
=== Хинт с партиклами, которые облетают искомый объект по эллипсу (type1)===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type1 1.jpg]]  [[Файл:Hint type1 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type1)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type1 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является флаер:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type1 4.jpg]]&lt;br /&gt;
&lt;br /&gt;
4. Объект хинта располагаем на сцене с поисковыми объектами.&amp;lt;br&amp;gt;&lt;br /&gt;
5. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
6. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и тип анимации - фокусировка.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Хинт с подложкой (type2)===&lt;br /&gt;
&lt;br /&gt;
На некоторое время на сцене появляется подложка и активные хиддены становятся видны на ее фоне.&lt;br /&gt;
&lt;br /&gt;
[[Файл:hint2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type2)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type2 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является машина состояний. Представляет собой полупрозрачный (хотя не обязательно) бекграунд для затемнения сцены (на скрине выше это синий бекграунд). Имеет 2 состояния:&lt;br /&gt;
&lt;br /&gt;
*''beg'' — состояние, в которое он переводится в начале работы хинта и остается в нем до окончания его работы;&lt;br /&gt;
*''end'' — состояние, в котором он находится все оставшееся время, и его начальное состояние.&lt;br /&gt;
&lt;br /&gt;
Как правило, в состоянии end задают нулевую прозрачность (al=0), имитируя таким образом невидимость подложки, а в состоянии beg — полную (al=1) непрозрачность.&amp;lt;br&amp;gt;&lt;br /&gt;
Должна находиться на сцене с поисковыми объектами и располагаться выше всех хидденов (то есть ниже всех хидден-объектов в дереве сцены) и связанных с ними картинок (например, таковыми могут быть небольшие бекграунды, прикрывающие хиддены).&lt;br /&gt;
&lt;br /&gt;
4. Время работы хинта, время заряда устанавливаем по своему усмотрению.&amp;lt;br&amp;gt;&lt;br /&gt;
5. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Хинт с подсветкой хидденов партиклами (type3) ===&lt;br /&gt;
&lt;br /&gt;
Выбранный случайным образом хидден подсвечивается партикловым эффектом.&lt;br /&gt;
&lt;br /&gt;
[[Файл:hint3.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type3)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type3 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является объект типа ''flyer''. На скрине это партикл взрыва. По настройкам параметров партикловых эффектов см. статью [[Flyer]].&amp;lt;br&amp;gt;&lt;br /&gt;
Объектом хинта также может быть машина состояний. Она должна иметь 2 состояния:&amp;lt;br&amp;gt;&lt;br /&gt;
*''beg'' — состояние, в которое он переводится в начале работы хинта и остается в нем до окончания его работы;&lt;br /&gt;
*''end'' — состояние, в котором он находится все оставшееся время, и его начальное состояние.&lt;br /&gt;
&lt;br /&gt;
4. Объект хинта располагаем на сцене с поисковыми объектами.&amp;lt;br&amp;gt;&lt;br /&gt;
5. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с таскаемым кругом и кольцом (type4) ===&lt;br /&gt;
&lt;br /&gt;
На поисковой сцене появляется круг с кольцом. Игрок таскает его по сцене, при этом выбранный случайным образом хидден или, в зависимости от настроек, все хиддены, становятся выше таскаемого круга, но ниже кольца.&lt;br /&gt;
&lt;br /&gt;
[[Файл:hint4.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type4)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type4 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является ресурсная машина состояний. Имеет 2 состояния:&lt;br /&gt;
&lt;br /&gt;
*''beg'' — состояние, в которое он переводится в начале работы хинта и остается в нем до окончания его работы;&lt;br /&gt;
*''end'' — состояние, в котором он находится все оставшееся время, и его начальное состояние.&lt;br /&gt;
&lt;br /&gt;
Как правило, в состоянии end задают нулевую прозрачность (al=0), имитируя таким образом невидимость подложки, а в состоянии beg — полную (единичную) прозрачность (al=1).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Графический ресурс этой машины - некоторый полупрозрачный круг. Ее подобъект - объект типа ''image'', представляющий собой кольцо.&amp;lt;br&amp;gt;&lt;br /&gt;
6. Для объекта хинта устанавливаем в 1 флаг ''хранить нажатость''.&amp;lt;br&amp;gt;&lt;br /&gt;
7. Объект хинта должен находиться на сцене с поисковыми объектами и быть выше их всех.&amp;lt;br&amp;gt;&lt;br /&gt;
8. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
9. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и нужный тип анимации.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с миганием искомого объекта по альфе (type5) ===&lt;br /&gt;
&lt;br /&gt;
Заключается в том, что на указанное время изменяется прозрачность рандомно выбранного искомого объекта. Прозрачность также, как и время, задаются в настройках хинта.&amp;lt;br&amp;gt;&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type5)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type5 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Время работы хинта, время заряда  и прозрачность устанавливаем по своему усмотрению.&amp;lt;br&amp;gt;&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт (Искра), которая вылетает и указывает расположение искомого объекта ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 1.jpg]]    [[Файл:Hint iskra 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (искра)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Настраиваем флаеры хвоста и указателя:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 4.jpg]]  [[Файл:Hint iskra 5.jpg]]&lt;br /&gt;
&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
5. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и тип анимации - фокусировка.&lt;br /&gt;
&lt;br /&gt;
6. Для подсветки пары объектов необходимо задать второй хвост и второй указатель (причем отличный от первого).&lt;br /&gt;
&lt;br /&gt;
7. В объект HiddenHint в поле '''object_to_hint''' запишется id HiddenObject который подсвечивается, в момент старта анимации.&lt;br /&gt;
&lt;br /&gt;
=== Хинт (Цепная молния), которая вылетает и поочередно указывает расположение нескольких искомых объекта ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type7 1.jpg]]    [[Файл:Hint type7 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (цепная молния)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type7 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Настройки флаеров хвоста и указателя такие же, как и для хинта ''Искра''.&lt;br /&gt;
&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
5. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и тип анимации - фокусировка.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с остановкой таймер на некоторое время ===&lt;br /&gt;
&lt;br /&gt;
Таймер останавливается на некоторое время, оставляя возможность игроку находить искомые предметы.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (остановка таймера)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type8 11.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Останавливаемый таймер - это таймер, который привязан к хидден-листу.&amp;lt;br&amp;gt;&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с бомбой которая взрывает несколько объектов ===&lt;br /&gt;
&lt;br /&gt;
Бекграунд начинает дрожать и с некоторой задержкой взрываются/находятся несколько поисковых объектов. &lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (бомба)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type8 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с таскаемым кругом, который восстанавливает цветность в своей окружности ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (фонарь)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Работает этот хинт при условии наличия аномалии. Поэтому для начала настраиваем объект типа 'effect'. На скрине - это эффект черно-белого негатива. Настроен он следующим образом:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 4.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Подключаем аномалию в хидден-листе:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
4.Настраиваем хинт:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
5. Не забываем, что кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=HiddenList&amp;diff=9437</id>
		<title>HiddenList</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=HiddenList&amp;diff=9437"/>
		<updated>2018-02-14T13:41:42Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Основные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
HiddenList является менеджером поисковых [[Object|объектов]]. На сегодня HiddenList не просто управляет объектами на сцене - он отвечает за все штрафы и поощрения. В связке с такими объектами как [[HiddenHint]] + [[Effect]] HiddenList дает возможность реализовать систему подсказок, а также такие графические эффекты как: &amp;quot;ночь&amp;quot;, &amp;quot;трансформация цвета&amp;quot; и т.д. с одним набором графики.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:HOList_1.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
*'''имя''' ('' nm '') - Имя объекта HiddenList в дереве проекта. Может быт произвольным.&lt;br /&gt;
*'''id-объекта''' - Уникальный номер объекта HiddenList, который можно увидеть в строке &amp;quot;имя&amp;quot; либо при наведении курсора на неё.&lt;br /&gt;
*'''синхронизация''' ('' sync '') - Применяется для синхронизации между лейаутами. Если указан параметр &amp;quot;нет&amp;quot;, то объект будет активен только на текущем лейауте. По умолчанию указан параметр &amp;quot;да&amp;quot;. &lt;br /&gt;
*'''сохранение параметров''' ('' sv '') -  Настройка этого параметра актуальна, если приложение в дальнейшем будет сворачиваться в системную панель («трей»). Выбирается значение этого параметра из выпадающего списка. Возможны следующие варианты: &amp;quot;нет&amp;quot;, &amp;quot;только объект&amp;quot;, &amp;quot;объект с подобъектами&amp;quot;, &amp;quot;только подобъекты&amp;quot;. При выходе из трэя будут восстановлены ранее измененные/установленные (при переходе с одного экрана на другой)параметры объектов или подобъектов в зависимости от выбранного варианта для этого параметра. По умолчанию указан параметр &amp;quot;нет&amp;quot;. Следует помнить, что если выбирается для объекта некоторой сцены значения этого параметра отличное от &amp;quot;нет&amp;quot;, то должно и предусматриваться соответствующее значение этого параметра и для этой сцены, и для экрана, содержащего эту сцену.&lt;br /&gt;
*'''z''' ('' z '') - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.&lt;br /&gt;
*'''память''' ('' memo ''):&lt;br /&gt;
:'''1''' - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана);&lt;br /&gt;
:'''0''' - обновит свои параметры, при повторном открытии экрана.&lt;br /&gt;
*'''группа''' ('' gr '') - Группа, в которую входит текущий объект.&lt;br /&gt;
&lt;br /&gt;
У листа также есть группы стандартных параметров такие как '''положение''', '''размер''', '''модификаторы'''. Но, по сути, они не важны. Главное, чтобы лист не перекрывал на сцене другие объекты. Поэтому ему лучше находиться за пределами сцены. &lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''Картинка''' ('' res '') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Обычно не используется, а применяется для отображения table;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Таблица''' ('' table '') - Объект типа [[table]], который является визуальным отображением списка. '''Должна быть обязательно''';&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Подсказка''' ('' hint '') — объект типа [[HiddenHint]], который является менеджером хинтов;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''highlighter''' ('' hl '') — объект типа [[HiddenHighLighter|hiddenhighlighter]], который подсвечивает не найденные объекты.;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Счетчик''' ('' hdncnt '') — объект типа [[Counter]], который отображает количество найденных объектов.&amp;lt;br&amp;gt;&lt;br /&gt;
В самом счетчике в параметрах нужно указать val = 0, поскольку изначально нет найденных объектов;&lt;br /&gt;
*'''Таймер''' ('' timer '') — объект типа [[Timer]], который отображает время игры.&lt;br /&gt;
При инициализации листа он передаст состояние &amp;quot;start&amp;quot; таймеру.&lt;br /&gt;
*'''отладка''' ('' trace '') — Отображать в окне состояний текущий объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - внешний вид'''&lt;br /&gt;
&lt;br /&gt;
*'''вычеркнуть''' ('' cross ''):&lt;br /&gt;
:'''1''' - найденный объект вычеркивается, оставаясь в списке(таблице);&lt;br /&gt;
:'''число''' - найденный объект удаляется из списка;&lt;br /&gt;
*'''листать''' ('' scroll '')&lt;br /&gt;
:'''1''' - список можно листать (скролировать);&lt;br /&gt;
:'''число''' - ищутся только те объекты, которые видны в списке (таблице);&lt;br /&gt;
*'''тип списка''' ('' kind '') - Тип поиска объектов:&lt;br /&gt;
:'''1''' - слово;&lt;br /&gt;
:'''2''' - предложение;&lt;br /&gt;
:'''3''' - удаляемая пиктограмма;&lt;br /&gt;
:'''4''' - пиктограмма;&lt;br /&gt;
:'''5''' - поиск различий.&lt;br /&gt;
*'''поиск пар''' ('' pair '') - Если 1, то идет поиска пар объектов с одинаковым типом, иначе обычный режим&lt;br /&gt;
:'''пары''' - поиск пар;&lt;br /&gt;
:'''одиночные''' - поиск по одному объекту.&lt;br /&gt;
&lt;br /&gt;
'''Группа - звуки'''&lt;br /&gt;
&lt;br /&gt;
*'''обычный''' ('' sndNrm '') - Звук при нахождении обычного [[HiddenObject]].&lt;br /&gt;
*'''коллекционный''' ('' sndCol '') - Звук при нахождении коллекционного [[HiddenObject]](объекту должна быть установлена коллекция).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - параметры поиска'''&lt;br /&gt;
&lt;br /&gt;
*'''объектов''' ('' num '') - Максимальное количество доступных для поиска объектов в одной игровой сессии. (ВАЖНО!!! Таблице нужно установить общее количество ячеек равное(или больше) количеству доступных для поиска объектов).&lt;br /&gt;
*'''активных объектов''' ('' numact '') - Максимальное количество активных объектов в одной игровой сессии.&lt;br /&gt;
*'''видимых объектов''' ('' numvis'') - Максимальное количество видимых объектов в одной игровой сессии.&lt;br /&gt;
*'''одного типа''' ('' max ''):&lt;br /&gt;
:'''число''' - Максимальное количество объектов одного типа - поле тип в [[hiddenObject]] или хидден объекты с одинаковыми текстовыми ID могут считаться объектами одного типа;&lt;br /&gt;
:'''-1''' - игнорируется.&lt;br /&gt;
*'''прятать''' ('' hide '') - Делать невидимыми объекты, не участвующие в поиске.&lt;br /&gt;
*'''оставлять''' ('' stay '') - Оставлять найденный объект на месте (вызывая только флаеры) при удачном клике.&lt;br /&gt;
*'''актёр-иконка''' ('' actorIco '') - если &amp;quot;да&amp;quot;, то во время полёта найденного хидден-объекта вместо него летит иконка которая помечена как &amp;quot;main picture&amp;quot; и указана в текстовом id хидден-объекта.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''актер''' ('' actor '') - машина состояний, которая управляет процессом полета к таблице найденных [[HiddenObject]] .&lt;br /&gt;
*'''z актера''' ('' actorZ '') - z актера. Будет применено только если не равен 0.&lt;br /&gt;
*'''актер стартует из таблицы''' ('' actorTable '') - если настройка включена, то актер стартует не из позиции хиддена, а из ячейки таблицы .&lt;br /&gt;
*'''целевой объект''' (''trg'') - Если задан, [[HiddenObject]] после нахождения летит не в ячейку таблицы, а к нему.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - скорость'''&lt;br /&gt;
&lt;br /&gt;
Отвечают за скорость перемещения найденного объекта.&lt;br /&gt;
*'''полета''' ('' vf '') - Скорость полета в пикселях в секунду.&lt;br /&gt;
*'''вращения''' ('' vr '') - Скорость вращения в градусах в секунду.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - равномерное распределение'''&lt;br /&gt;
&lt;br /&gt;
*'''включить''' ('' undist '') - Равномерно распределять объекты по площади сцены.&lt;br /&gt;
*'''дополнительные сортировки''' ('' altern_algo '') - Использовать альтернативный алгоритм равномерного распределения.&lt;br /&gt;
*'''максимальное перекрытие''' ('' max_overlapping '') - Максимальная допустимая площадь перекрытия в пикселях.&lt;br /&gt;
*'''количество итераций''' ('' fix_overlapping_iter_num '') - Максимальное количество итераций фикса перекрытия объектов.&lt;br /&gt;
*'''удалять перекрытия''' ('' del_after_fix '') - Удалять оставшиеся перекрытия после последней итерации фикса.&lt;br /&gt;
&lt;br /&gt;
Рекомендации по использованию:&lt;br /&gt;
&lt;br /&gt;
*Если включать &amp;quot;Удалять перекрытия&amp;quot;, то нужно для счетчика кол-ва оставшихся хидденов считывать значение из &amp;quot;num&amp;quot;.&lt;br /&gt;
*Оптимальное значение максимальной площади - 1024 пикселей, т.е. допускаем перекрытие в 32 на 32 пикселя, что совсем не влияет на визуальное перекрытие объектов.&lt;br /&gt;
*Количество итераций можем ставить 20-50. Если перекрытий не останется раньше, то фикс перекрытий остановится, если выполнится все количество - отобразится количество перекрытий в логах. Большое количество итераций фикса негативно сказывается на скорости загрузки сцены.&lt;br /&gt;
&lt;br /&gt;
Логи:&lt;br /&gt;
&lt;br /&gt;
*&amp;quot;Deleting a hidden object with textID: %i&amp;quot; - удаление объекта с текстовым ID&lt;br /&gt;
*&amp;quot;Overlapping detected! Area: %f px&amp;quot; - обнаружения перекрытия в столько-то пикселей&lt;br /&gt;
*&amp;quot;fixOverlapping() Iterations num: %i / %i; Overlaps num: %i&amp;quot; - итерации, итоговое количество перекрытий&lt;br /&gt;
&lt;br /&gt;
==Дополнительные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''скалирование объектов''' ('' scale_object '') - При нахождении во время полета объект будет скалироватся: &lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено.&lt;br /&gt;
*'''пропадание объектов''' ('' alpha_object '') - При нахождении во время полета объект будет менять альфу:&lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено.&lt;br /&gt;
*'''реагировать на отпускание''' ('' touch_up '') - Объекты связанные с этим хидденлистом будут реагировать на отпускание, а не на нажатие:&lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено (То есть реагировать на четкий клик, если кликнули и сместили область клика объект не реагирует!).&lt;br /&gt;
*'''реагировать на finger tap''' ('' finger_tap '') - Объекты, связанные с этим хидденлистом, будут реагировать на отпускание после ожидания даблтача.&lt;br /&gt;
*'''задержка срабатывания''' ('' touch_delay '') - только для реакции на нажатие. Время между нажатием и реакцией списка объектов.&lt;br /&gt;
*'''объединять одинаковые тексты''' ('' same_txt '') - Объекты с одинаковым текстом будут жить в одной ячейке таблицы с добавлением множителя xN.&lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено.&lt;br /&gt;
*'''множитель для иконок''' ('' ico_res '') - Графический ресурс(анимация) для отображения множителя у иконок для типа списка 4(поиск по иконкам) и включенного объединения одинаковых текстов. Первый фрейм - х2, второй - х3 и т.д.&lt;br /&gt;
*'''исключать одинаковые тексты''' ('' unTxtID '') - исключает или не исключает из поиска объекты с одинаковыми txtID, используется совместно с '''одного типа'''.&lt;br /&gt;
*'''вероятность пассивного предпочитаемого объекта''' ('' prefProb '') - вероятность выпадения пассивного объекта, если у объекта стоит параметр &amp;quot;предпочитаемый&amp;quot; используется при исключении  объектов с одинаковыми текстовыми ID.&lt;br /&gt;
*'''вероятность активного предпочитаемого объекта''' ('' prefProbAct '') - вероятность выпадения активного объекта, если у объекта стоит параметр &amp;quot;предпочитаемый&amp;quot; используется при исключении  объектов с одинаковыми текстовыми ID.&lt;br /&gt;
*'''реагировать на невидимые''' ('' canInvis '') - реагировать или нет на объекты, которые в момент игры не видны в таблице. (Кликаются только те [[hiddenObject]] которые отображены в таблице, остальные нет!).&lt;br /&gt;
*'''прятать актеров при старте''' ('' hideact '') - Устанавливать актерам видимость false при старте (по умолчанию - да)(То есть всем актерам которые находятся на сцене при запуске принудительно установиться vis = 0).&lt;br /&gt;
*'''аномалия''' ('' anom '') - для всех аномалий кроме текстовой [[HiddenObject]] и игровой фон должны быть подобъектами [[Effect]]):&lt;br /&gt;
:'''0''' - нет;&lt;br /&gt;
:'''1''' - текстовая;&lt;br /&gt;
:'''2''' - ночь; В машине которая выставляет эффект ночь, должны передавать сцене с объектом аномалия ( obj=&amp;quot;scene&amp;quot;; par=&amp;quot;drag&amp;quot;; val=&amp;quot;0&amp;quot; ) и ( obj=&amp;quot;scene&amp;quot;; st=&amp;quot;update&amp;quot;);&lt;br /&gt;
:'''3''' - трансформация цвета;&lt;br /&gt;
:'''4''' - дым.&lt;br /&gt;
При применении аномалии &amp;quot;блитц&amp;quot; через объект [[Economics]] набор параметров: anom=&amp;quot;0&amp;quot;, is_blitz=&amp;quot;1&amp;quot;.&lt;br /&gt;
*'''флурри''' ('' flurry '') - Нужно ли отправлять статистику флурри &amp;quot;regexp=&amp;quot;:&lt;br /&gt;
:'''0''' - нет;&lt;br /&gt;
:'''1''' - да.&lt;br /&gt;
*'''вероятность инверсии''' ('' invProb '') - Вероятность того, что сцена будет перевернута по x;&lt;br /&gt;
*'''набор''' ('' kit '') - Набор, из которого берутся объекты.&lt;br /&gt;
*'''поведение дифференсов''' (''difbeh'') - Поведение найденных объектов в режиме поиск отличий.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - появление новых объектов'''&lt;br /&gt;
&lt;br /&gt;
*'''время''' ('' acttm '') - Время появления объекта (мс);&lt;br /&gt;
*'''начальный скейл''' ('' actsc '') - Начальный скейл;&lt;br /&gt;
*'''начальная альфа''' ('' actal '') - Начальная альфа.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - сессии'''&lt;br /&gt;
&lt;br /&gt;
*'''сессионность''' ('' ses ''):&lt;br /&gt;
:'''0''' -  нет;&lt;br /&gt;
:'''1''' -  да.&lt;br /&gt;
*'''ограничение сессий''' ('' sesLim '') - Максимальное количество сессий, в которые можно играть.&lt;br /&gt;
*'''набор объектов''' ('' sesSet '') - Набор объектов при заходе в хидден после последней сессии:&lt;br /&gt;
:'''0''' - случайный;&lt;br /&gt;
:'''1''' - последний фон;&lt;br /&gt;
:'''2''' - пустой.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - цвета'''&lt;br /&gt;
&lt;br /&gt;
*'''Цвет обязательных''' ('' c_forced '') — цвет текста для обязательных объектов, указывается код цвета, если строку не заполнять цвет не используется.&lt;br /&gt;
*'''Цвет найденных''' ('' c_found '') — цвет текста для найденных объектов, указывается код цвета, если строку не заполнять цвет не используется.&lt;br /&gt;
*'''Время перехода''' ('' c_time '') - Время изменения цвета.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - время'''&lt;br /&gt;
&lt;br /&gt;
*'''игры''' ('' tmGm '') - Общее время игры. Если оно истекает, идет переход на экран [время вышло] (см.ниже):&lt;br /&gt;
:'''-1''' - игнорируется;&lt;br /&gt;
:'''число''' - время игры.&lt;br /&gt;
*'''прерывать''' ('' tmInt ''):&lt;br /&gt;
:'''1''' - по окончанию времени игра будет прервана;&lt;br /&gt;
:'''0''' - по окончанию времени игра продолжится, но переход все равно будет на неудачную ветку.&lt;br /&gt;
*'''паузы''' ('' tmWt '') - Время перед закрытием окна после разбора (для осмысления результата);&lt;br /&gt;
*'''полета актера''' ('' tmActor '') - Время работы актера, после которого обрабатываются ячейки таблицы;&lt;br /&gt;
*'''перед исчезновением''' ('' tmWtHide '') - Время, в течение которого объект остается видимым после обработки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - ошибки'''&lt;br /&gt;
&lt;br /&gt;
*'''flyer при ошибке''' ('' fl '') - обычно объект типа flyer (летуны которых надо показать в точке клика, если этот клик ошибочный). Можно в принципе любой объект который обладает состоянием &amp;quot;beg&amp;quot;. Ошибочный клик - все клики мимо [[hiddenObject]].&lt;br /&gt;
*'''вычет времени при ошибке''' ('' tmPen '') - Сколько отнять миллисекунд за ошибочный клик.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - переход'''&lt;br /&gt;
&lt;br /&gt;
*'''при разборе''' ('' scrOk '') - Экран на который надо перейти, если все объекты найдены.&lt;br /&gt;
*'''время вышло''' ('' scrOv '') - Экран на который надо перейти если время вышло, а не все объекты найдены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - система очков'''&lt;br /&gt;
&lt;br /&gt;
*'''Счетчик''' ('' score_counter '') — счетчик, отображающий набранные очки.&lt;br /&gt;
*'''счетчик (test)''' ('' score_counter_test '') — счетчик, отображающий набранные очки.&lt;br /&gt;
*'''ID пака''' ('' pack_id '') — строковый идентификатор пака(для записи набранных очков в [[options]] должен быть заполнен); используется для вытаскивания суммарных очков в счетчики и дальнейшего их отображения.&lt;br /&gt;
*'''ID игры''' ('' game_id '') — строковый идентификатор игры (сцены).&lt;br /&gt;
'''Обязательно должен иметь префикс ID пака. Например, если pack_id = &amp;quot;pack1&amp;quot;, то game_id = &amp;quot;pack1.game1&amp;quot;'''.&lt;br /&gt;
*'''мультипликатор очков''' ('' scoreM '') — Мультипликатор очков за объект, если все собрано за отведенное время.&lt;br /&gt;
*'''Очки''' ('' score '') — количество очков, которые даются за каждый найденный [[hiddenObject]].&lt;br /&gt;
*'''Бонус за скорость''' ('' bonusS '') — бонус за быстро найденный [[hiddenObject]].&lt;br /&gt;
*'''Бонусный интервал''' ('' bonusT '') — время, за которое нужно найти [[hiddenObject]] для получения бонуса.&lt;br /&gt;
*'''бонус за время''' ('' bonusTime '') - бонус за оставшееся время игры = коэффициент который введем * оставшееся время таймера.&lt;br /&gt;
*'''Бонусный мультипликатор''' ('' grow ''):&lt;br /&gt;
:'''1''' - умножать очки за второй быстро найденный предмет на 2, за третий на 3, и т. д.&lt;br /&gt;
:'''0''' - не умножать.&lt;br /&gt;
*'''Количество кликов для штрафа''' ('' wrngC '') — количество неверных кликов, после которых запустится блокатор (см. ниже).&lt;br /&gt;
*'''Интервал для штрафа''' ('' wrngT '') — время, за которое нужно совершить неверные клики.&lt;br /&gt;
*'''Штраф (очки)''' ('' delS '') — Сколько отнимаем очков за ошибочный клик.&lt;br /&gt;
*'''Штраф (время)''' ('' delT '') — Сколько отнимаем времени за ошибочный клик.&lt;br /&gt;
*'''блокатор''' ('' blockImg '') - Объект, блокирующий сцену при серии ошибочных кликов. (Обычно маска растянутая на весь экран. '''ДОЛЖНА иметь состояние &amp;quot;beg&amp;quot;''').&lt;br /&gt;
*'''время блокировки''' ('' blockTime '') - Время блокировки при серии ошибочных кликов по истечении переводит &amp;quot;блокатор&amp;quot; в состояние '''end'''.&lt;br /&gt;
*'''порог touch move''' ('' mvSens '') - Порог, начиная с которого движение пальца воспринимается как мув и сбрасываются неправильные клики.&lt;br /&gt;
*'''touch move как штраф''' ('' tchMvPen '') - Считать ли touch move за ложное попадание:&lt;br /&gt;
:'''0''' - нет;&lt;br /&gt;
:'''1''' - да.&lt;br /&gt;
*'''клик на найденный как штраф''' ('' clkFndPen '') - Считать ли клик на найденный объект за ложное попадание(актуально если объекты остаются на сцене).&lt;br /&gt;
*'''аниматор очков''' ('' scoreAnim '') - машина, которая анимирует полученные очки, должна иметь состояние '''anim'''.&lt;br /&gt;
*'''коэффициент комбо''' ('' cmbCoef '') - коэффициент для расчёта комбо очков по формуле s(n) = k * n * (n + 1).&lt;br /&gt;
*'''счётчик очков за объект''' ('' objScCnt '') - счётчик который показывает очки за последний полученный объект (учитывая бонусы).&lt;br /&gt;
*'''счётчик комбо-очков''' ('' cmbScCnt '') - счётчик очков полученных за комбо-серию.&lt;br /&gt;
*'''счётчик комбо-серий''' ('' cmbRwCnt '') - счётчик который показывает комбо-серию (комбо из 2-х, 3-х и т.д. найденных объектов).&lt;br /&gt;
*'''комбо2 прогресс''' ('' cmb2Pr '') - комбо2 прогресс;&lt;br /&gt;
*'''комбо2 время''' ('' cmb2Tm '') - комбо2 время;&lt;br /&gt;
*'''комбо2 кол-во''' ('' cmb2Num '') - комбо2 кол-во.&lt;br /&gt;
*'''очки 3.0''' (''score30'') - Использовать систему очков, придуманную Степановым в августе 2015.&lt;br /&gt;
*'''очки 3.0 коэф. комбо''' (''score30lc'') - в конце комбо даем за него очков n * s * l * (n-1) - где n число предметов в комбо, s - очки за один предмет, l - этот коэффициент&lt;br /&gt;
*'''очки 3.0 коэф. аккуратности''' (''score30la'') - в конце игры начисляем очки за точность по формуле s * la / (1 + Nmiss / N)&lt;br /&gt;
*'''очки 3.0 коэф. времени 1 (l)''' (''score30lt'') - в конце игры начисляем очки за время по формуле s * lt / (1 + T / (tt * N))&lt;br /&gt;
*'''очки 3.0 коэф. времени 2 (t)''' (''score30tt'') - в конце игры начисляем очки за время по формуле s * lt / (1 + T / (tt * N))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - звезды'''&lt;br /&gt;
&lt;br /&gt;
*'''combo num''' ('' comboNum '') - Количество быстро найденных объектов, нужное для получения звезды Combo.&lt;br /&gt;
*'''combo time''' ('' comboInt '') - Интервал между кликами, считающимися быстрыми для Combo.&lt;br /&gt;
*'''accuracy''' ('' accuracy '') - Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные).&lt;br /&gt;
*'''лимит ложных кликов''' ('' starWrAcc '') - Лимит ложных кликов.&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;
:'''с маленьким полем''' - бот будет играть на отдельном поле (??????);&lt;br /&gt;
:'''горячий стул''' - hotsit, игра двух живых игроков на одном девайсе, передача хода по очереди;&lt;br /&gt;
:'''мультиплеер''' - игра через сервер с живым оппонентом;&lt;br /&gt;
*'''файл уровня''' - xml файл с настройками сложности бота ([[HiddenList#Настройка сложности бота|пример]]);&lt;br /&gt;
*'''номер уровня''' - номер уровня в файле (начиная с 0);&lt;br /&gt;
*'''номер уровня max''' - если задан больше предыдущего номера - выбирается рандомное значение;&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера;&lt;br /&gt;
*'''кнопка хинта''' - кнопка хинта для 2го игрока \ бота;&lt;br /&gt;
*'''проверять интернет''' - проверять интернет при игре с ботом (так же, как при игре с живым игроком);&lt;br /&gt;
*'''первый ход (вероятность)''' - вероятность первого хода игрока при игре с ботом (в процентах);&lt;br /&gt;
*'''t min abs ms''' - самая минимальная задержка между ходами бота;&lt;br /&gt;
*'''t1 min ms''' - минимальное время для быстрого нахождения предмета ботом;&lt;br /&gt;
*'''t1 max ms''' - максимальное время для быстрого нахождения предмета ботом;&lt;br /&gt;
*'''t1 prob %''' - вероятность быстрого нахождения предмета ботом;&lt;br /&gt;
*'''t2 min ms''' - минимальное время для нахождения предмета ботом;&lt;br /&gt;
*'''t2 max ms''' - максимальное время для нахождения предмета ботом;&lt;br /&gt;
*'''t coef delta''' - коэффициент сложности (кажется от -1 до 1, могу ошибаться);&lt;br /&gt;
*'''t wrong min ms''' - минимальное время между ложными кликами (мимо объекта) бота;&lt;br /&gt;
*'''t wrong max ms''' - максимальное время между ложными кликами бота;&lt;br /&gt;
*'''bot hint chance (percent)''' - шанс бота использовать хинт (в процентах);&lt;br /&gt;
*'''bot hint num''' - максимальное кол-во использования хинтов ботом на игру;&lt;br /&gt;
*'''доп. поле x''' - координаты доп. поля по Х;&lt;br /&gt;
*'''доп. поле y''' - координаты доп. поля по Y;&lt;br /&gt;
*'''доп. поле sx''' - масштаб доп. поля;&lt;br /&gt;
*'''доп. поле sy''' - масштаб доп. поля;&lt;br /&gt;
*'''указатель хода''' - указатель хода бота\оппонента. Должен иметь состояние ''beg'' и находитсья в сцене с хидденами;&lt;br /&gt;
*'''родитель''' - родитель, в который поместим клонированную сцену (доп. поле);&lt;br /&gt;
*'''счетчик очков бота''' - счетчик, выводящий очки;&lt;br /&gt;
*'''счетчик без бонусов бота''' - счетчик, выводящий очки без бонусов за время и точность;&lt;br /&gt;
*'''комбо2 прогресс бота''' - комбо2 прогресс;&lt;br /&gt;
*'''аниматор очков бота''' - машина, которая при нахождении хиддена анимирует полученные очки;&lt;br /&gt;
*'''счетчик очков за объект бот''' - счетчик, выводящий очки за объект;&lt;br /&gt;
*'''счетчик комбо-серий (макс) бот''' - счетчик, выводящий макс. количество комбо-серий;&lt;br /&gt;
*'''счетчик комбо-серий (тек) бот''' - счетчик, выводящий текущее количество комбо-серий;&lt;br /&gt;
*'''flyer при ошибке''' - объект типа ''flyer'' который надо показать в точке клика, если этот клик ошибочный;&lt;br /&gt;
*'''таймер хода бота''' - таймер хода бота;&lt;br /&gt;
*'''таймер хода игрока''' - таймер хода игрока;&lt;br /&gt;
*'''длительность хода ms''' - длительность хода игрока \ бота. Если задан 0 - игроки ходят одновременно;&lt;br /&gt;
*'''длительность паузы между ходами ms''' - длительность паузы при смене хода игрока\бота.&lt;br /&gt;
&lt;br /&gt;
=== Настройка сложности бота ===&lt;br /&gt;
&lt;br /&gt;
Файл уровней для хидден-бота должен иметь такую структуру:&lt;br /&gt;
   &amp;lt;bots&amp;gt;&lt;br /&gt;
     &amp;lt;obj id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;3&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;21000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;5000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/obj&amp;gt;&lt;br /&gt;
     &amp;lt;obj id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;10&amp;quot; t2min=&amp;quot;10000&amp;quot; t2max=&amp;quot;25000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;7000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/obj&amp;gt;&lt;br /&gt;
     &amp;lt;obj id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;10&amp;quot; t2min=&amp;quot;7000&amp;quot; t2max=&amp;quot;21000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;2&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;5000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/obj&amp;gt;&lt;br /&gt;
   &amp;lt;/bots&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*bots - основной таг&lt;br /&gt;
*obj &amp;gt; id - номер уровня&lt;br /&gt;
*bot - содержит те же параметры, что и настройки бота в хидден листе&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
Состояния которые есть у листа. Мы можем передавать их с помощью различных объектов:&lt;br /&gt;
*'''invert''' - горизонтально отображает изображение;&lt;br /&gt;
*'''run''' - переводит хидден в состояние активности, если до этого был на паузе;&lt;br /&gt;
*'''pause''' -переводит хидден в состояние паузы, объекты не кликаются!&lt;br /&gt;
*'''swap_hiddens''' -меняет отображаемые в таблице поисковые объекты на случайные другие.&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
*HiddenList должен располагаться в дереве проекта ниже всех своих поисковых объектов.&lt;br /&gt;
&lt;br /&gt;
*Единственный '''обязательный объект''' о котором должен знать лист это [[Table]] для отображения списка поиска, даже если таблица не будет использоваться быть все равно должна!&lt;br /&gt;
&lt;br /&gt;
*После завершения хидден-игры (по разбору или по времени)при переходе на другой экран HiddenList записывает данные в опции в два места: первое - это то, которое указано у настройках (ID пака,  ID уровня, тип списка), для каждой локации свое; а второе - это last_game. &amp;lt;br&amp;gt;&lt;br /&gt;
Например, &amp;lt;br&amp;gt;&lt;br /&gt;
'''last_game.time_spent''' (либо же '''pck_N.lvl_N.kind_N.time_spent''') - время последней игры, &amp;lt;br&amp;gt; &lt;br /&gt;
'''last_game.clicks''' (либо же '''pck_N.lvl_N.kind_N.clicks''') - количество найденных объектов и т.д. &amp;lt;br&amp;gt;&lt;br /&gt;
Все их можно увидеть в опциях. last_game был придуман для того, чтобы было удобно задавать счетчики в окне результатов. Также эти данные могут быть сохранены в опциях, если задать листу состояние '''wait'''.&lt;br /&gt;
&lt;br /&gt;
*Для проверки кликабельности хидденобъектов можно воспользоваться следующими настройками в app.icf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[GHiddenList]&lt;br /&gt;
HitTest=0&lt;br /&gt;
HitTestDx=1 - шаг по х&lt;br /&gt;
HitTestDy=1 - шаг по y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
в результате после перехода на сцену с хидденом появится файл, в котором будет казан объекты и координаты в которых они не тапаются.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''появляется новый объект: изменить состояние объекта''' ('' actst ''):&lt;br /&gt;
:'''объект''' ('' obj '') - Объект, состояние которого нужно изменить;&lt;br /&gt;
:'''состояние''' ('' st '') - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:HOList_3.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''разбор: если был экран''' ('' wscrOk '') - При нахождении всех объектов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:&lt;br /&gt;
:'''был экран''' ('' was '') - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;&lt;br /&gt;
:'''перейти на''' ('' scr '') - Переходим на этот экран, если экран из предыдущего поля уже открывался.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''разбор: изменить состояние объекта''' ('' nstOk '') - При нахождении всех объектов, перевести объект в новое состояние:&lt;br /&gt;
:'''объект''' ('' obj '') - Перевести объект в состояние из следующего поля;&lt;br /&gt;
:'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''разбор: изменить параметр объекта''' ('' chgOk '') - При нахождении всех объектов, изменить параметр объекта:&lt;br /&gt;
:'''объект''' ('' obj '') - этот объект меняет свой параметр;&lt;br /&gt;
:'''свойство''' ('' par '') - Параметр, который мы изменяем;&lt;br /&gt;
:'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''не успел: если был экран''' ('' wscrOv '') - Если вышло время, а объекты не найдены, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:&lt;br /&gt;
:'''был экран''' ('' was '') - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;&lt;br /&gt;
:'''перейти на''' ('' scr '') - Переходим на этот экран, если экран из предыдущего поля уже открывался.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''не успел: изменить состояние объекта''' ('' nstOv '') - Если вышло время, а объекты не найдены, перевести объект в новое состояние:&lt;br /&gt;
:'''объект''' ('' obj '') - перевести объект в состояние из следующего поля;&lt;br /&gt;
:'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''не успел: изменить параметр объекта''' ('' chgOv '') - Если вышло время, а объекты не найдены, изменить параметр объекта:&lt;br /&gt;
:'''объект''' ('' obj '') - этот объект меняет свой параметр;&lt;br /&gt;
:'''свойство''' ('' par '')- Параметр, который мы изменяем;&lt;br /&gt;
:'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''счетчик очков''' ('' scoreCnt ''):&lt;br /&gt;
:'''счетчик''' ('' cnt '') - Каунтер, которому приходят очки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''группа extra bonus''' ('' extraBonus ''). Используется для economics, при нахождении объекта с некой вероятностью может выпасть бонус. Объект который анимирует появление бонуса должен иметь состояние show, время на анимацию бонуса - 10 секунд:&lt;br /&gt;
:'''монетки объект''' ('' coinsObj '') - объект который анимирует получение монет;&lt;br /&gt;
:'''монетки вероятность''' ('' coinsProb '') - вероятность по нахождению объекта получить дополнительно монетки;&lt;br /&gt;
:'''опыт объект''' ('' expObj '') - объект который анимирует получение опыта;&lt;br /&gt;
:'''опыт вероятность''' ('' expProb '') - вероятность по нахождению объекта получить дополнительно опыт;&lt;br /&gt;
:'''энергия объект''' ('' energyObj '') - объект который анимирует получение энергии;&lt;br /&gt;
:'''энергия вероятность''' ('' energyProb '') - вероятность по нахождению объекта получить дополнительно энергию.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Объект, который срабатывает, если долго не находить хидден''' ('' notfnd ''):&lt;br /&gt;
:'''объект''' ('' obj '') -  Объект, который переводится в указанное состояние, если долго не находить хидден;&lt;br /&gt;
:'''состояние''' ('' st '') - Состояние, в которое переводится объект;&lt;br /&gt;
:'''время''' ('' tm '') - Время от последнего нахождения хиддена, после которого срабатывает объект.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии с исчезновением букв''' ('' hlPars ''):&lt;br /&gt;
:'''оставшиеся буквы''' ('' min '') - Минимальное количество оставшихся букв в предложении;&lt;br /&gt;
:'''задержка''' ('' wait '') - Момент времени, начиная с которого аномалия будет проявляться;&lt;br /&gt;
:'''задержка 2''' ('' wait2 '') - Задержка для появившихся слов, изначально недоступных;&lt;br /&gt;
:'''время''' ('' time '') - Время, за которое должны исчезнуть все буквы (если -1, то до конца времени в хиддене);&lt;br /&gt;
:'''промежутки''' ('' dt '') - промежутки времени между каждой итерацией;&lt;br /&gt;
:'''флайер''' ('' fl '') - Флайер, анимирующий исчезающую букву (должен иметь '''текстовый''' тип).&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии ночь''' ('' nightPars ''): &lt;br /&gt;
:'''effect''' ('' ef '') - эффект, управляющий трансформацией цвета;&lt;br /&gt;
:'''tag''' ('' eftag '') - Тег эффекта, реализующего ночь.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии трансформации цвета''' ('' colInvPars ''):&lt;br /&gt;
:'''effect''' ('' ef '') - Эффект, управляющий трансформацией цвета;&lt;br /&gt;
:'''tags''' ('' eftags '') - Теги эффектов, реализующих трансформацию цвета, из которых будет выбран один.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии дым''' ('' smokePars ''): &lt;br /&gt;
:'''effect''' ('' ef '') - Машина, управляющая эффектом дыма;&lt;br /&gt;
:'''tag''' ('' eftag '') - Тег эффекта, реализующего дым.&lt;br /&gt;
&lt;br /&gt;
Все аномалии кроме текстовой должны быть настроены с помощью объекта [[Effect]]&lt;br /&gt;
&lt;br /&gt;
== Get Started==&lt;br /&gt;
Минимальный набор ресурсов:&lt;br /&gt;
* Фоновая картинка для поисковой сцены&lt;br /&gt;
* Комплект картинок, с которых будут сделаны поисковые [[HiddenObject|объекты]]&lt;br /&gt;
* Текстовые объекты для идентификации спрятанных объектов&lt;br /&gt;
&lt;br /&gt;
Минимальный набор объектов редактора:&lt;br /&gt;
* [[Image]] который будет изменен в хидден-лист&lt;br /&gt;
* [[Table|Таблица]] в которой будут отображаться тексты/картинки (зависит от режима) спрятанных объектов.&lt;br /&gt;
* По одному [[Image]] для каждого спрятанного объекта (будут созданы автоматически при добавлении картинок из базы ресурсов на сцену)&lt;br /&gt;
&lt;br /&gt;
Наши действия:&lt;br /&gt;
# откроем [[Интерфейс_ScenceEditor|редактор сцен]] и создадим новый проект,&lt;br /&gt;
# добавим новый экран с именем ''scrHList''&lt;br /&gt;
# создадим в этом экране сцену ''stgHList''&lt;br /&gt;
# перейдём в [[Интерфейс_ResourceEditor|редактор ресурсов]]&lt;br /&gt;
## создаём папку ''HList''&lt;br /&gt;
## добавим в ней картинку  для фона и картинки для спрятанных объектов.&lt;br /&gt;
## выделим все картинки в дереве ресурсов и перенесем их на нашу сцену ''stgHList'', при этом для каждой картинки автоматически создастся объект [[Image]].&lt;br /&gt;
## закроем редактор ресурсов&lt;br /&gt;
# перейдём в [[Интерфейс_TextEditor|редактор текстов]]&lt;br /&gt;
## создаём папку ''HListText''&lt;br /&gt;
## добавим в нее текстовые объекты, по одному на каждый поисковый объект.&lt;br /&gt;
## сохраним внесенные изменения.&lt;br /&gt;
# перейдём в редактор сцен.&lt;br /&gt;
# создадим в сцене stgHList объект [[Table]] и назовем его HOT&lt;br /&gt;
## настроим размер и положение таблицы, согласно нашего дизайна&lt;br /&gt;
## установим параметры колонок = &amp;quot;50&amp;quot;, колонок видно = &amp;quot;5&amp;quot;, строчек = &amp;quot;5&amp;quot;, строчек видно = &amp;quot;1&amp;quot; (таким образом в таблице будут отображаться 5 поисковых предметов, а максимальное количество объектов для поиска будет равно 250)&lt;br /&gt;
## установим параметры скорость листания = &amp;quot;650&amp;quot;, добавлять по строкам = &amp;quot;0&amp;quot;, центрировать = &amp;quot;растянуть&amp;quot;, сдвигать ячейки при удалении =&amp;quot;да&amp;quot;&lt;br /&gt;
# создадим в сцене stgHList объект '''HiddenList''', напоминаем что его размер и положение на сцене не имеют значения, по этому расположим его где-нибудь за границей экрана. &amp;lt;br&amp;gt;'''Важно''' В дереве проекта хидден-лист должен быть ниже всех своих поисковых объектов.&lt;br /&gt;
## в поле таблица указываем нашу HOT&lt;br /&gt;
## установим параметр объектов = &amp;quot;10&amp;quot;&lt;br /&gt;
## установим параметр пропадание объектов = &amp;quot;да&amp;quot;&lt;br /&gt;
## установим параметр реагировать на отпускание = &amp;quot;да&amp;quot;&lt;br /&gt;
## установим параметр реагировать на невидимые = &amp;quot;нет&amp;quot;&lt;br /&gt;
## установим параметр набор = &amp;quot;1&amp;quot;&lt;br /&gt;
# Настроим объекты, которые будут прятаться. Для этого выделим картинки поисковых объектов, добавленные нами ранее, и изменим им тип на &amp;quot;hiddenObject&amp;quot;. Оставляя группу этих объектов выделенной, настроим им параметры:&lt;br /&gt;
## в поле list укажем наш HiddenList&lt;br /&gt;
## параметр набор = &amp;quot;1&amp;quot;&lt;br /&gt;
## Теперь снимаем выделение и каждому объекту в поле текстID перетаскиваем мышкой соответствующий текстовый объект из текстовой базы (поле текстID должно быть активно для редактирования - по нему нужно кликнуть мышкой)&lt;br /&gt;
# сохраним проект&lt;br /&gt;
# запустим [[Интерфейс_Viewer|вьювер]]&lt;br /&gt;
&lt;br /&gt;
== Динамический HG==&lt;br /&gt;
Функционал позволяет генерировать HL самостоятельно HO объекты из файла конфига.&lt;br /&gt;
 &lt;br /&gt;
П.С. - вся графика д.б. динамической. Данные файлы может создавать HO_Manager ( http://wiki/index.php/HO_Manager )&lt;br /&gt;
&lt;br /&gt;
[[Файл:D485ecbbbb.jpg|right]]&lt;br /&gt;
*'''файл уровня''' ('' configFile'') — указываем путь к файлу конфигу, где перечисляем файлы с HG. &lt;br /&gt;
*'''список графических ресурсов''' — служебное, пока не используется;&lt;br /&gt;
*'''список текстовых ресурсов''' — служебное, пока не используется;&lt;br /&gt;
*'''номер уровня''' ('' hiddenLevelNum '') — номер уровня из файла;&lt;br /&gt;
*'''образец хиддена''' ('' hiddenTemplate '') — obj_id HO объект, должен иметь нужные параметры (остальные возьмутся из конфига) ;&lt;br /&gt;
*'''образец нашлёпки''' ('' hiddenPatchTempl '') — obj_id нашлёпки на HO объект, должна иметь нужные параметры (остальные возьмутся из конфига);&lt;br /&gt;
*'''корневой объект''' ('' hiddenRoot '') — obj_id корневого объект в который сложим всех клонов;&lt;br /&gt;
*'''точечный спецэффект''' ('' hiddenEffect '') — ;&lt;br /&gt;
*'''фоновый объект ''' ('' hiddenBG '') — obj_id объекта которому поменяем ресурс;&lt;br /&gt;
&lt;br /&gt;
Требования, вся графика HO,BG отрисовывается без учёта пивоты;&lt;br /&gt;
&lt;br /&gt;
Файлы конфиги имеют вид:&lt;br /&gt;
Файл уровня имеет вид:&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;levels&amp;quot;: [&lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;file&amp;quot;: &amp;quot;ViewerFiles/DynHid/hidden0.cfg&amp;quot;,&lt;br /&gt;
            &amp;quot;pack&amp;quot;:3&lt;br /&gt;
         }&lt;br /&gt;
      ]&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
:Где &amp;quot;levels&amp;quot; - линки на файлы уровней. &lt;br /&gt;
:::&amp;quot;file&amp;quot; - путь к файлу;&lt;br /&gt;
:::&amp;quot;pack&amp;quot; - пак в который попадут ресурсы;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Файл конкретного уровня имеет вид:&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;bg&amp;quot;: {&lt;br /&gt;
         &amp;quot;src&amp;quot;: &amp;quot;bg.png&amp;quot;,&lt;br /&gt;
         &amp;quot;w&amp;quot;: 2048,&lt;br /&gt;
         &amp;quot;h&amp;quot;: 1151,&lt;br /&gt;
         &amp;quot;id&amp;quot;: 16,&lt;br /&gt;
         &amp;quot;color&amp;quot;: &amp;quot;#ffffff&amp;quot;,&lt;br /&gt;
         &amp;quot;tile&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;hiddens&amp;quot;: [&lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;id&amp;quot;: 1022,&lt;br /&gt;
            &amp;quot;nm&amp;quot;: &amp;quot;bucket_01&amp;quot;,&lt;br /&gt;
            &amp;quot;res&amp;quot;: 129,&lt;br /&gt;
            &amp;quot;bg&amp;quot;: 666,&lt;br /&gt;
            &amp;quot;rect&amp;quot;: {&lt;br /&gt;
               &amp;quot;x&amp;quot;: 1393,&lt;br /&gt;
               &amp;quot;y&amp;quot;: 653,&lt;br /&gt;
               &amp;quot;w&amp;quot;: 115,&lt;br /&gt;
               &amp;quot;h&amp;quot;: 137&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;objs&amp;quot;: [{&lt;br /&gt;
               &amp;quot;res&amp;quot;: 1488,&lt;br /&gt;
               &amp;quot;rect&amp;quot;: {&lt;br /&gt;
                  &amp;quot;x&amp;quot;: 1393,&lt;br /&gt;
                  &amp;quot;y&amp;quot;: 653,&lt;br /&gt;
                  &amp;quot;w&amp;quot;: 115,&lt;br /&gt;
                  &amp;quot;h&amp;quot;: 137&lt;br /&gt;
               }&lt;br /&gt;
            }],&lt;br /&gt;
         }, &lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 1537,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 409,&lt;br /&gt;
            &amp;quot;id&amp;quot;: 1023,&lt;br /&gt;
            &amp;quot;res&amp;quot;: 329,&lt;br /&gt;
            &amp;quot;nm&amp;quot;: &amp;quot;bucket_02&amp;quot;,&lt;br /&gt;
            &amp;quot;rect&amp;quot;: {&lt;br /&gt;
               &amp;quot;x&amp;quot;: 1493,&lt;br /&gt;
               &amp;quot;y&amp;quot;: 366,&lt;br /&gt;
               &amp;quot;w&amp;quot;: 81,&lt;br /&gt;
               &amp;quot;h&amp;quot;: 87&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;res&amp;quot;: {&lt;br /&gt;
         &amp;quot;images&amp;quot;: [16, 129, 1488, 329],&lt;br /&gt;
         &amp;quot;texts&amp;quot;: [1022, 1023],&lt;br /&gt;
         &amp;quot;sounds&amp;quot;: [],&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
:Где &amp;quot;bg&amp;quot; - настройки фона. &lt;br /&gt;
:::&amp;quot;src&amp;quot; - сорс графического файла в ресурсной базе;&lt;br /&gt;
:::&amp;quot;color&amp;quot; - цвет которым будет залито под фоном, нужное если фон имеет дырки;&lt;br /&gt;
:::&amp;quot;tile&amp;quot; - тайлинг фона;&lt;br /&gt;
:::&amp;quot;id&amp;quot; - id ресурса из ресурсной базы;&lt;br /&gt;
::&amp;quot;hiddens&amp;quot; - перечень HO с их настройками&lt;br /&gt;
::::&amp;quot;id&amp;quot; - TxtId;&lt;br /&gt;
::::&amp;quot;nm&amp;quot; - имя HO;&lt;br /&gt;
::::&amp;quot;res&amp;quot; - графический ресурс HO;&lt;br /&gt;
::::&amp;quot;bg&amp;quot; - графический ресурс тени;&lt;br /&gt;
::::&amp;quot;rect&amp;quot; - настройки &amp;quot;res&amp;quot;;&lt;br /&gt;
:::::&amp;quot;x&amp;quot; - координата x, в координатах корневого объекта;&lt;br /&gt;
:::::&amp;quot;y&amp;quot; - координата y, в координатах корневого объекта;&lt;br /&gt;
:::::&amp;quot;w&amp;quot; - ширина;&lt;br /&gt;
:::::&amp;quot;h&amp;quot; - высота;&lt;br /&gt;
::::&amp;quot;objs&amp;quot; - перечень нашлёпок;&lt;br /&gt;
:::::&amp;quot;res&amp;quot; - графический ресурс нашлёпки;&lt;br /&gt;
:::::&amp;quot;rect&amp;quot; - настройки графического ресурса нашлёпки;&lt;br /&gt;
::::::&amp;quot;x&amp;quot; - координата x, в координатах HO;&lt;br /&gt;
::::::&amp;quot;y&amp;quot; - координата y, в координатах HO;&lt;br /&gt;
::::::&amp;quot;w&amp;quot; - ширина;&lt;br /&gt;
::::::&amp;quot;h&amp;quot; - высота;&lt;br /&gt;
::&amp;quot;res&amp;quot; - ресурсы которые входят в пак уровня ( будут вырезаны при экспорте в пак уровня)&lt;br /&gt;
::::&amp;quot;images&amp;quot; - перечень графических ресурсов&lt;br /&gt;
::::&amp;quot;texts&amp;quot; - перечень текстовых ресурсов&lt;br /&gt;
::::&amp;quot;sounds&amp;quot; - перечень звуковых ресурсов&lt;br /&gt;
&lt;br /&gt;
== Авто тест HL ==&lt;br /&gt;
Для запуска автотеста, нам нужно указать в app.icf параметры:&lt;br /&gt;
&lt;br /&gt;
[GHiddenList]&lt;br /&gt;
:'''HitTest''' - мода автотеста; (0- выкл.; 1 - разовая логика, пишется в файл раз в сессию для одного хидден листа ; 2 - при каждом init любого хидн листа дописывается статистика в файл);&lt;br /&gt;
:'''HitTestDx''' = 5 - шаг с которым проходит автокликер по X;&lt;br /&gt;
:'''HitTestDy''' = 5 - шаг с которым проходит автокликер по Y;&lt;br /&gt;
&lt;br /&gt;
Для HitTest==2, очень помогает параметр &amp;quot;allow_background&amp;quot;. Остаётся только написать скриптулину, которая ходит сама между экранами.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample&lt;br /&gt;
&lt;br /&gt;
HiddenList.rar&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Get Started]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9349</id>
		<title>HiddenHint</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9349"/>
		<updated>2018-01-26T16:13:26Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''HiddenHint''' - тип [[Object|объекта]], который используется для управления подсказками в &amp;quot;хидденах&amp;quot;.&lt;br /&gt;
[[Файл:HiddenHint_1.jpg|right]]&lt;br /&gt;
== Общие параметры ==&lt;br /&gt;
&lt;br /&gt;
Смотреть описание [[Object|Object]].&lt;br /&gt;
&lt;br /&gt;
== Основные параметры ==&lt;br /&gt;
&lt;br /&gt;
*'''картинка''' (''res'') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Обычно не используется, а применяется для отображения table.&lt;br /&gt;
&lt;br /&gt;
'''Группа - анимация:'''&lt;br /&gt;
*'''тип анимации''' (''animType'') - Тип анимирования сцены;&lt;br /&gt;
*'''сцена''' (''anim_scene'') - Анимируемая сцена;&lt;br /&gt;
*'''скорость''' (''vel'') - Скорость анимирования сцены (имеет смысл для фокусировки);&lt;br /&gt;
*'''восстановить''' (''recover'') - Нужно ли восстанавливать исходное состояние сцены после отработки хинта (по умолчанию да): '''0''' - нет, '''1''' - да;&lt;br /&gt;
*'''время''' (''anim_time'') - Время анимации ( минимум 0);&lt;br /&gt;
*'''отсечение''' (''down_border'') - Нижнее отсечение ( минимум 0).&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:HiddenHint_2.png|right]]&lt;br /&gt;
&lt;br /&gt;
Меню выбора ''Добавляемые параметры'' к объектам активируется по нажатию правой кнопки мыши.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка запуска хинта''' (''hnt_err'') - Изменяет состояние объекта при ошибке запуска хинта:&lt;br /&gt;
*'''объект''' (''obj'') - При клике на кнопку перевести объект в состояние из следующего поля;&lt;br /&gt;
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка запуска хинта - у хидденлиста закончились сессии''' (''errSes'') - Изменяет состояние объекта при ошибке запуска хинта:&lt;br /&gt;
*'''объект''' (''obj'') - При клике на кнопку перевести объект в состояние из следующего поля;&lt;br /&gt;
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''ошибка хинта - хидденлист разобран''' (''errEnd'') - Изменяет состояние объекта при ошибке запуска хинта:&lt;br /&gt;
*'''объект''' (''obj'') - При клике на кнопку перевести объект в состояние из следующего поля;&lt;br /&gt;
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type1)''' (''hnt1'') - Хинт с партиклами который облетает искомый объект по эллипсу: &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта;&lt;br /&gt;
*'''подлетание''' (''approach''): '''1''' - сначала подлетает к хиддену, '''0''' - начинать облетать сразу;&lt;br /&gt;
*'''позиция (x)''' (''x0'') - Начальная позиция флайера (x);&lt;br /&gt;
*'''позиция (y)''' (''y0'') - Начальная позиция флайера (y);&lt;br /&gt;
*'''скорость подлета''' (''v_line'') - Скорость подлета;&lt;br /&gt;
*'''скорость облета''' (''v_ellipse'') - Скорость облета;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет;&lt;br /&gt;
*'''клонировать указатель''' (''hlclone'') - если выставлен, на искомом предмете соответственно будет клон указателя, который будет удалён только после нахождения предмета или ухода с экрана. При этом параметр '''Перманентный''' должен быть выключен.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type2)''' (''hnt2'') - Хинт с фоновой подложкой;&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка, по нажатию на которую запуcкается  хинт. При нажатии кнопка должна изменить состояние хинту в &amp;quot;start&amp;quot;;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта. Такой себе воркер хинта (та самая подложка которая подсветит объекты). Является ресурсной машиной состояний (''machine''), которая имеет состояние: beg и end;&lt;br /&gt;
*'''время''' (''time'') - Время работы хинта. Устанавливается в миллисекундах;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс). Время, за которое можно будет повторно использовать хинт;&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type3)''' (''hnt3'') - Хинт с подсветкой хидденов партиклами:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка, по нажатию на которую запускается хинт. При нажатии кнопка должна изменить состояние хинту в &amp;quot;start&amp;quot;;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта. Объект типа ''flyer'' или  ''machine'', у которого есть 2 состояния: beg и end;&lt;br /&gt;
*'''время''' (''time'') - Время действия хинта. Устанавливается в миллисекундах.;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда. Время, за которое можно будет повторно использовать хинт. Если хинт заряжается моментально, то ставить не меньше 500 мс.&lt;br /&gt;
*'''нечего подсказывать: объект''' (''fail_obj'') - При отсутствии объектов для подсветки данным хинтом перевести данный объект в новое состояние;&lt;br /&gt;
*'''нечего подсказывать: состояние''' (''fail_st'') - Новое состояние для объекта из предыдущего поля;&lt;br /&gt;
*'''хинт сработал: объект''' (''succ_obj'') - При успешной подсветке объекта данным хинтом перевести данный объект в новое состояние;&lt;br /&gt;
*'''хинт сработал: состояние''' (''succ_st'') - Новое состояние для объекта из предыдущего поля;&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type4)''' (''hnt4'') - Хинт с таскаемым кругом или кольцом: &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка, по нажатию на которую запускается  хинт. При нажатии кнопка должна изменить состояние хинту в &amp;quot;start&amp;quot;;&lt;br /&gt;
*'''объект хинта''' (''hint'') - Объект хинта. Является ресурсной (полупрозрачная область в виде круга) машиной состояний (''machine''), которая имеет состояние: beg и end. Ее подобъектом может быть кольцо. Таким образом, поисковые объекты будут проявляться между этим кругом и кольцом.&lt;br /&gt;
*'''позиция (x)''' (''x0'') - Стартовая позиция (x), где появляется таскаемый кусок;&lt;br /&gt;
*'''позиция (y)''' (''y0'') - Стартовая позиция (y), где появляется таскаемый кусок;&lt;br /&gt;
*'''подсвечивать все''' (''hint_all''): '''1''' - подсвечивать все хиддены, '''0''' - подсвечивать один рандомно выбранный;&lt;br /&gt;
*'''время''' (''time'') - Время действия хинта. Устанавливается в миллисекундах;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда. Время за которое можно будет повторно использовать хинт. Если хинт заряжается моментально, то ставить не меньше 500 мс;&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (type5)''' (''hnt5'') - Хинт с миганием искомого объекта по альфе:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''время''' (''time'') - Время действия хинта;&lt;br /&gt;
*'''прозрачность''' (''alpha'') - Целевая прозрачность как способ прятания объекта;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (искра)''' (''hnt6'') - Хинт с ''искрой'' которая вылетает и указывает расположение искомого объекта:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''хвост''' (''tail'') - Хвост (как у кометы);&lt;br /&gt;
*'''указатель''' (''ptr'') - Объект, зажигающийся на месте хиддена;&lt;br /&gt;
*'''скорость''' (''vel'') - Скорость полета искры к объекту;&lt;br /&gt;
*'''время''' (''tm'') - Время активности указателя;&lt;br /&gt;
*'''x''' (''x'') - Точка вылетания искры (x);&lt;br /&gt;
*'''y''' (''y'') - Точка вылетания искры (y);&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
*'''перманентный''' (''permanent'') - Если да, то хинт не будет завершаться до клика по предмету.&lt;br /&gt;
*'''учитывать скейл сцены''' (''use_anim_stage_scale'') - Учитывать скейл сцены при подсчете координат полета хинта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (цепная молния)''' (''hnt7'') - Хинт с ''цепной молнией'' которая вылетает и поочередно указывает несколько искомых объектов:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''хвост''' (''tail'') - Хвост (как у кометы);&lt;br /&gt;
*'''указатель''' (''ptr'') - Объект, зажигающийся на месте хиддена;&lt;br /&gt;
*'''скорость''' (''vel'') - Скорость полета искры к объекту;&lt;br /&gt;
*'''dt''' (''dt'') - Промежутки между вспышками указателя, если хвост не задан;&lt;br /&gt;
*'''время''' (''tm'') - Время активности указателя;&lt;br /&gt;
*'''x''' (''x ') - Точка вылетания искры (x);&lt;br /&gt;
*'''y''' (''y'') - Точка вылетания искры (y);&lt;br /&gt;
*'''min''' (''min'') - Минимальное количество подсвечиваемых объектов;&lt;br /&gt;
*'''max''' (''max'') - Максимальное количество подсвечиваемых объектов;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
*'''перманентный''' (''permanent'') - Если да, то хинт не будет завершаться до клика по предмету (для корректной работы, нужно включить параметр - &amp;quot;перемещать в сцену&amp;quot;, иначе при утке флаер будет статичен в не зависимости от зума HO сцены).&lt;br /&gt;
*'''перемещать в сцену''' (''change_parent'') - Если да, то хинт будет перемешён в HO сцену во время работы(!!! обязательно указать флаерам прокликиваеммость).&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (остановка таймера)''' (''hnt8'') - Хинт с остановкой таймер на некоторое время:&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''таймер''' (''tmr'') - Останавливаемый таймер;&lt;br /&gt;
*'''время''' (''tm'') - Время остановки таймера;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (бомба)''' (''hnt9'') - Хинт с ''бомбой'' которая взрывает несколько объектов.&lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''начальная задержка''' (''btm'') - Задержка между началом дрожания и взрывами.&lt;br /&gt;
*'''интервал''' (''etm'') - Интервал между взрывами.&lt;br /&gt;
*'''количество''' (''num'') - Количество взрываемых объектов.&lt;br /&gt;
*'''отклонение''' (''dev'') - Максимальное отклонение сцены во время дрожания.&lt;br /&gt;
*'''интервал дрожания''' (''dtm'') - Интервал между вызовами итераций дрожания.&lt;br /&gt;
*'''конечная задержка''' (''wtm'') - Задержка после взрыва последнего объекта.&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (фонарь)''' (''hnt10'') - Хинт с таскаемым кругом который восстанавливает цветность в своей окружности (работает только при наличии аномалии). &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''эффект''' (''ef'') - Эффект, к которому применяется фонарь.&lt;br /&gt;
*'''радиус''' (''er'') - Радиус фонаря в эффекте.&lt;br /&gt;
*'''border''' (''eb'') - Толщина области перехода между фонарем и полным эффектом.&lt;br /&gt;
*'''время''' (''etr'') - Время остановки таймера.&lt;br /&gt;
*'''время''' (''tm'') - Время активности указателя;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''хинт (прогнать аномалию)''' (''hnt11'') - Хинт необходимый для изгнания аномалии прямиком из игры (работает только при наличии аномалии); данный хинт удаляет аномалии привязанные к объекту - effect ( аномалию дым - нужно отключать руками); &lt;br /&gt;
*'''кнопка запуска''' (''button'') - Кнопка запуска хинта;&lt;br /&gt;
*'''заряжаемый''' (''chargeable'') - Заряжаемая подсказка: '''1''' - вкл., '''0''' - выкл.;&lt;br /&gt;
*'''время заряда''' (''charge_time'') - Время заряда ( минимум 500 мс);&lt;br /&gt;
*'''блокирующий''' (''bl'') - Если да, то выполнение хинта блокирует возможность запуска других хинтов: '''0''' - да, '''1''' - нет;&lt;br /&gt;
*'''правило подсветки''' ('''') - ;&lt;br /&gt;
&lt;br /&gt;
== Состояния ==&lt;br /&gt;
&lt;br /&gt;
* '''start''' - Запускает хинт.&lt;br /&gt;
&lt;br /&gt;
== Правила подсветки хинтов ==&lt;br /&gt;
&lt;br /&gt;
Объект хидден хинт может управлять подсветкой кнопок хинтов, чтобы обращать внимание пользователя на подсказки и заставлять его ими пользоваться. Правила подсветки записываются в виде строки:&lt;br /&gt;
[[Файл:Hhint highlight1.png]]&lt;br /&gt;
&lt;br /&gt;
Пять чисел через запятую это: время до конца хидена min, время до конца хидена max, осталось объектов min, осталось объектов max, время с последнего найденного предмета. Времена в миллисекундах. Если нужно сделать несколько правил подсветки для одного хинта, то их нужно разделить вертикальной чертой как показано на картинке.&lt;br /&gt;
&lt;br /&gt;
Когда срабатывает нужное правило, то хидден-хинт переводит машинку из поля &amp;quot;Объект подсветки&amp;quot; в одно из состояний hl%d, где %d - номер хинта. Номер хинта можно узнать наведя мышку на добавляемое свойство. Например, если навести на хинт(искра), то мы увидим hnt6, значит объект подсветки будет переведен в состояние hl6.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&lt;br /&gt;
*HiddenHint обязательно должен быть подключен к [[HiddenList]] для того что бы знать какие объекты ему показывать.&lt;br /&gt;
&lt;br /&gt;
*Если поисковая сцена имеет большее разрешение чем на устройстве, то хинт может ее проскейлить, что бы при подсказке были видны все объекты. Для этого в параметр хинта &amp;quot;сцена&amp;quot; нужно указать сцену, и в этой сцене настроить параметры &amp;quot;Открытие&amp;quot; и &amp;quot;Закрытие&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
=== Хинт с партиклами, которые облетают искомый объект по эллипсу (type1)===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type1 1.jpg]]  [[Файл:Hint type1 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type1)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type1 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является флаер:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type1 4.jpg]]&lt;br /&gt;
&lt;br /&gt;
4. Объект хинта располагаем на сцене с поисковыми объектами.&amp;lt;br&amp;gt;&lt;br /&gt;
5. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
6. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и тип анимации - фокусировка.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Хинт с подложкой (type2)===&lt;br /&gt;
&lt;br /&gt;
На некоторое время на сцене появляется подложка и активные хиддены становятся видны на ее фоне.&lt;br /&gt;
&lt;br /&gt;
[[Файл:hint2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type2)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type2 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является машина состояний. Представляет собой полупрозрачный (хотя не обязательно) бекграунд для затемнения сцены (на скрине выше это синий бекграунд). Имеет 2 состояния:&lt;br /&gt;
&lt;br /&gt;
*''beg'' — состояние, в которое он переводится в начале работы хинта и остается в нем до окончания его работы;&lt;br /&gt;
*''end'' — состояние, в котором он находится все оставшееся время, и его начальное состояние.&lt;br /&gt;
&lt;br /&gt;
Как правило, в состоянии end задают нулевую прозрачность (al=0), имитируя таким образом невидимость подложки, а в состоянии beg — полную (al=1) непрозрачность.&amp;lt;br&amp;gt;&lt;br /&gt;
Должна находиться на сцене с поисковыми объектами и располагаться выше всех хидденов (то есть ниже всех хидден-объектов в дереве сцены) и связанных с ними картинок (например, таковыми могут быть небольшие бекграунды, прикрывающие хиддены).&lt;br /&gt;
&lt;br /&gt;
4. Время работы хинта, время заряда устанавливаем по своему усмотрению.&amp;lt;br&amp;gt;&lt;br /&gt;
5. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Хинт с подсветкой хидденов партиклами (type3) ===&lt;br /&gt;
&lt;br /&gt;
Выбранный случайным образом хидден подсвечивается партикловым эффектом.&lt;br /&gt;
&lt;br /&gt;
[[Файл:hint3.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type3)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type3 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является объект типа ''flyer''. На скрине это партикл взрыва. По настройкам параметров партикловых эффектов см. статью [[Flyer]].&amp;lt;br&amp;gt;&lt;br /&gt;
Объектом хинта также может быть машина состояний. Она должна иметь 2 состояния:&amp;lt;br&amp;gt;&lt;br /&gt;
*''beg'' — состояние, в которое он переводится в начале работы хинта и остается в нем до окончания его работы;&lt;br /&gt;
*''end'' — состояние, в котором он находится все оставшееся время, и его начальное состояние.&lt;br /&gt;
&lt;br /&gt;
4. Объект хинта располагаем на сцене с поисковыми объектами.&amp;lt;br&amp;gt;&lt;br /&gt;
5. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с таскаемым кругом и кольцом (type4) ===&lt;br /&gt;
&lt;br /&gt;
На поисковой сцене появляется круг с кольцом. Игрок таскает его по сцене, при этом выбранный случайным образом хидден или, в зависимости от настроек, все хиддены, становятся выше таскаемого круга, но ниже кольца.&lt;br /&gt;
&lt;br /&gt;
[[Файл:hint4.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type4)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type4 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Объектом хинта является ресурсная машина состояний. Имеет 2 состояния:&lt;br /&gt;
&lt;br /&gt;
*''beg'' — состояние, в которое он переводится в начале работы хинта и остается в нем до окончания его работы;&lt;br /&gt;
*''end'' — состояние, в котором он находится все оставшееся время, и его начальное состояние.&lt;br /&gt;
&lt;br /&gt;
Как правило, в состоянии end задают нулевую прозрачность (al=0), имитируя таким образом невидимость подложки, а в состоянии beg — полную (единичную) прозрачность (al=1).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Графический ресурс этой машины - некоторый полупрозрачный круг. Ее подобъект - объект типа ''image'', представляющий собой кольцо.&amp;lt;br&amp;gt;&lt;br /&gt;
6. Для объекта хинта устанавливаем в 1 флаг ''хранить нажатость''.&amp;lt;br&amp;gt;&lt;br /&gt;
7. Объект хинта должен находиться на сцене с поисковыми объектами и быть выше их всех.&amp;lt;br&amp;gt;&lt;br /&gt;
8. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
9. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и нужный тип анимации.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с миганием искомого объекта по альфе (type5) ===&lt;br /&gt;
&lt;br /&gt;
Заключается в том, что на указанное время изменяется прозрачность рандомно выбранного искомого объекта. Прозрачность также, как и время, задаются в настройках хинта.&amp;lt;br&amp;gt;&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (type5)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type5 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Время работы хинта, время заряда  и прозрачность устанавливаем по своему усмотрению.&amp;lt;br&amp;gt;&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт (Искра), которая вылетает и указывает расположение искомого объекта ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 1.jpg]]    [[Файл:Hint iskra 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (искра)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Настраиваем флаеры хвоста и указателя:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 4.jpg]]  [[Файл:Hint iskra 5.jpg]]&lt;br /&gt;
&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
5. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и тип анимации - фокусировка.&lt;br /&gt;
&lt;br /&gt;
6. Для подсветки пары объектов необходимо задать второй хвост и второй указатель (причем отличный от первого).&lt;br /&gt;
&lt;br /&gt;
7. В объект HiddenHint в поле '''object_to_hint''' запишется id HiddenObject который подсвечивается, в момент старта анимации.&lt;br /&gt;
&lt;br /&gt;
=== Хинт (Цепная молния), которая вылетает и поочередно указывает расположение нескольких искомых объекта ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type7 1.jpg]]    [[Файл:Hint type7 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (цепная молния)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type7 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Настройки флаеров хвоста и указателя такие же, как и для хинта ''Искра''.&lt;br /&gt;
&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
5. В группе параметров хинта '''анимация''' выбираем анимируемую сцену и тип анимации - фокусировка.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с остановкой таймер на некоторое время ===&lt;br /&gt;
&lt;br /&gt;
Таймер останавливается на некоторое время, оставляя возможность игроку находить искомые предметы.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (остановка таймера)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type8 11.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Останавливаемый таймер - это таймер, который привязан к хидден-листу.&amp;lt;br&amp;gt;&lt;br /&gt;
4. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с бомбой которая взрывает несколько объектов ===&lt;br /&gt;
&lt;br /&gt;
Бекграунд начинает дрожать и с некоторой задержкой взрываются/находятся несколько поисковых объектов. &lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (бомба)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Настраиваем его следующим образом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type8 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Хинт с таскаемым кругом, который восстанавливает цветность в своей окружности ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
1. Выбираем для хинта добавляемый параметр [[Файл:+.png]] '''хинт (фонарь)'''&amp;lt;br&amp;gt;&lt;br /&gt;
2. Работает этот хинт при условии наличия аномалии. Поэтому для начала настраиваем объект типа 'effect'. На скрине - это эффект черно-белого негатива. Настроен он следующим образом:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 4.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Подключаем аномалию в хидден-листе:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
4.Настраиваем хинт:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint type10 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
5. Не забываем, что кнопка запуска хинта должна содержать следующее событие:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint iskra 6.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=HiddenList&amp;diff=9348</id>
		<title>HiddenList</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=HiddenList&amp;diff=9348"/>
		<updated>2018-01-26T16:11:36Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Состояния */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
HiddenList является менеджером поисковых [[Object|объектов]]. На сегодня HiddenList не просто управляет объектами на сцене - он отвечает за все штрафы и поощрения. В связке с такими объектами как [[HiddenHint]] + [[Effect]] HiddenList дает возможность реализовать систему подсказок, а также такие графические эффекты как: &amp;quot;ночь&amp;quot;, &amp;quot;трансформация цвета&amp;quot; и т.д. с одним набором графики.&lt;br /&gt;
&lt;br /&gt;
==Общие параметры==&lt;br /&gt;
(см. описание [[Object|Object]])&lt;br /&gt;
&lt;br /&gt;
[[Файл:HOList_1.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
*'''имя''' ('' nm '') - Имя объекта HiddenList в дереве проекта. Может быт произвольным.&lt;br /&gt;
*'''id-объекта''' - Уникальный номер объекта HiddenList, который можно увидеть в строке &amp;quot;имя&amp;quot; либо при наведении курсора на неё.&lt;br /&gt;
*'''синхронизация''' ('' sync '') - Применяется для синхронизации между лейаутами. Если указан параметр &amp;quot;нет&amp;quot;, то объект будет активен только на текущем лейауте. По умолчанию указан параметр &amp;quot;да&amp;quot;. &lt;br /&gt;
*'''сохранение параметров''' ('' sv '') -  Настройка этого параметра актуальна, если приложение в дальнейшем будет сворачиваться в системную панель («трей»). Выбирается значение этого параметра из выпадающего списка. Возможны следующие варианты: &amp;quot;нет&amp;quot;, &amp;quot;только объект&amp;quot;, &amp;quot;объект с подобъектами&amp;quot;, &amp;quot;только подобъекты&amp;quot;. При выходе из трэя будут восстановлены ранее измененные/установленные (при переходе с одного экрана на другой)параметры объектов или подобъектов в зависимости от выбранного варианта для этого параметра. По умолчанию указан параметр &amp;quot;нет&amp;quot;. Следует помнить, что если выбирается для объекта некоторой сцены значения этого параметра отличное от &amp;quot;нет&amp;quot;, то должно и предусматриваться соответствующее значение этого параметра и для этой сцены, и для экрана, содержащего эту сцену.&lt;br /&gt;
*'''z''' ('' z '') - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.&lt;br /&gt;
*'''память''' ('' memo ''):&lt;br /&gt;
:'''1''' - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана);&lt;br /&gt;
:'''0''' - обновит свои параметры, при повторном открытии экрана.&lt;br /&gt;
*'''группа''' ('' gr '') - Группа, в которую входит текущий объект.&lt;br /&gt;
&lt;br /&gt;
У листа также есть группы стандартных параметров такие как '''положение''', '''размер''', '''модификаторы'''. Но, по сути, они не важны. Главное, чтобы лист не перекрывал на сцене другие объекты. Поэтому ему лучше находиться за пределами сцены. &lt;br /&gt;
&lt;br /&gt;
==Основные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''Картинка''' ('' res '') - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Обычно не используется, а применяется для отображения table;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Таблица''' ('' table '') - Объект типа [[table]], который является визуальным отображением списка. '''Должна быть обязательно''';&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Подсказка''' ('' hint '') — объект типа [[HiddenHint]], который является менеджером хинтов;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''highlighter''' ('' hl '') — объект типа [[HiddenHighLighter|hiddenhighlighter]], который подсвечивает не найденные объекты.;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Счетчик''' ('' hdncnt '') — объект типа [[Counter]], который отображает количество найденных объектов.&amp;lt;br&amp;gt;&lt;br /&gt;
В самом счетчике в параметрах нужно указать val = 0, поскольку изначально нет найденных объектов;&lt;br /&gt;
*'''Таймер''' ('' timer '') — объект типа [[Timer]], который отображает время игры.&lt;br /&gt;
При инициализации листа он передаст состояние &amp;quot;start&amp;quot; таймеру.&lt;br /&gt;
*'''отладка''' ('' trace '') — Отображать в окне состояний текущий объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - внешний вид'''&lt;br /&gt;
&lt;br /&gt;
*'''вычеркнуть''' ('' cross ''):&lt;br /&gt;
:'''1''' - найденный объект вычеркивается, оставаясь в списке(таблице);&lt;br /&gt;
:'''число''' - найденный объект удаляется из списка;&lt;br /&gt;
*'''листать''' ('' scroll '')&lt;br /&gt;
:'''1''' - список можно листать (скролировать);&lt;br /&gt;
:'''число''' - ищутся только те объекты, которые видны в списке (таблице);&lt;br /&gt;
*'''тип списка''' ('' kind '') - Тип поиска объектов:&lt;br /&gt;
:'''1''' - слово;&lt;br /&gt;
:'''2''' - предложение;&lt;br /&gt;
:'''3''' - удаляемая пиктограмма;&lt;br /&gt;
:'''4''' - пиктограмма;&lt;br /&gt;
:'''5''' - поиск различий.&lt;br /&gt;
*'''поиск пар''' ('' pair '') - Если 1, то идет поиска пар объектов с одинаковым типом, иначе обычный режим&lt;br /&gt;
:'''пары''' - поиск пар;&lt;br /&gt;
:'''одиночные''' - поиск по одному объекту.&lt;br /&gt;
&lt;br /&gt;
'''Группа - звуки'''&lt;br /&gt;
&lt;br /&gt;
*'''обычный''' ('' sndNrm '') - Звук при нахождении обычного [[HiddenObject]].&lt;br /&gt;
*'''коллекционный''' ('' sndCol '') - Звук при нахождении коллекционного [[HiddenObject]](объекту должна быть установлена коллекция).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - параметры поиска'''&lt;br /&gt;
&lt;br /&gt;
*'''объектов''' ('' num '') - Максимальное количество доступных для поиска объектов в одной игровой сессии. (ВАЖНО!!! Таблице нужно установить общее количество ячеек равное(или больше) количеству доступных для поиска объектов).&lt;br /&gt;
*'''активных объектов''' ('' numact '') - Максимальное количество активных объектов в одной игровой сессии.&lt;br /&gt;
*'''видимых объектов''' ('' numvis'') - Максимальное количество видимых объектов в одной игровой сессии.&lt;br /&gt;
*'''одного типа''' ('' max ''):&lt;br /&gt;
:'''число''' - Максимальное количество объектов одного типа - поле тип в [[hiddenObject]] или хидден объекты с одинаковыми текстовыми ID могут считаться объектами одного типа;&lt;br /&gt;
:'''-1''' - игнорируется.&lt;br /&gt;
*'''прятать''' ('' hide '') - Делать невидимыми объекты, не участвующие в поиске.&lt;br /&gt;
*'''оставлять''' ('' stay '') - Оставлять найденный объект на месте (вызывая только флаеры) при удачном клике.&lt;br /&gt;
*'''актёр-иконка''' ('' actorIco '') - если &amp;quot;да&amp;quot;, то во время полёта найденного хидден-объекта вместо него летит иконка которая помечена как &amp;quot;main picture&amp;quot; и указана в текстовом id хидден-объекта.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''актер''' ('' actor '') - машина состояний, которая управляет процессом полета к таблице найденных [[HiddenObject]] .&lt;br /&gt;
*'''целевой объект''' (''trg'') - Если задан, [[HiddenObject]] после нахождения летит не в ячейку таблицы, а к нему.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - скорость'''&lt;br /&gt;
&lt;br /&gt;
Отвечают за скорость перемещения найденного объекта.&lt;br /&gt;
*'''полета''' ('' vf '') - Скорость полета в пикселях в секунду.&lt;br /&gt;
*'''вращения''' ('' vr '') - Скорость вращения в градусах в секунду.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - равномерное распределение'''&lt;br /&gt;
&lt;br /&gt;
*'''включить''' ('' undist '') - Равномерно распределять объекты по площади сцены.&lt;br /&gt;
*'''дополнительные сортировки''' ('' altern_algo '') - Использовать альтернативный алгоритм равномерного распределения.&lt;br /&gt;
*'''максимальное перекрытие''' ('' max_overlapping '') - Максимальная допустимая площадь перекрытия в пикселях.&lt;br /&gt;
*'''количество итераций''' ('' fix_overlapping_iter_num '') - Максимальное количество итераций фикса перекрытия объектов.&lt;br /&gt;
*'''удалять перекрытия''' ('' del_after_fix '') - Удалять оставшиеся перекрытия после последней итерации фикса.&lt;br /&gt;
&lt;br /&gt;
Рекомендации по использованию:&lt;br /&gt;
&lt;br /&gt;
*Если включать &amp;quot;Удалять перекрытия&amp;quot;, то нужно для счетчика кол-ва оставшихся хидденов считывать значение из &amp;quot;num&amp;quot;.&lt;br /&gt;
*Оптимальное значение максимальной площади - 1024 пикселей, т.е. допускаем перекрытие в 32 на 32 пикселя, что совсем не влияет на визуальное перекрытие объектов.&lt;br /&gt;
*Количество итераций можем ставить 20-50. Если перекрытий не останется раньше, то фикс перекрытий остановится, если выполнится все количество - отобразится количество перекрытий в логах. Большое количество итераций фикса негативно сказывается на скорости загрузки сцены.&lt;br /&gt;
&lt;br /&gt;
Логи:&lt;br /&gt;
&lt;br /&gt;
*&amp;quot;Deleting a hidden object with textID: %i&amp;quot; - удаление объекта с текстовым ID&lt;br /&gt;
*&amp;quot;Overlapping detected! Area: %f px&amp;quot; - обнаружения перекрытия в столько-то пикселей&lt;br /&gt;
*&amp;quot;fixOverlapping() Iterations num: %i / %i; Overlaps num: %i&amp;quot; - итерации, итоговое количество перекрытий&lt;br /&gt;
&lt;br /&gt;
==Дополнительные параметры==&lt;br /&gt;
&lt;br /&gt;
*'''скалирование объектов''' ('' scale_object '') - При нахождении во время полета объект будет скалироватся: &lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено.&lt;br /&gt;
*'''пропадание объектов''' ('' alpha_object '') - При нахождении во время полета объект будет менять альфу:&lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено.&lt;br /&gt;
*'''реагировать на отпускание''' ('' touch_up '') - Объекты связанные с этим хидденлистом будут реагировать на отпускание, а не на нажатие:&lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено (То есть реагировать на четкий клик, если кликнули и сместили область клика объект не реагирует!).&lt;br /&gt;
*'''реагировать на finger tap''' ('' finger_tap '') - Объекты, связанные с этим хидденлистом, будут реагировать на отпускание после ожидания даблтача.&lt;br /&gt;
*'''задержка срабатывания''' ('' touch_delay '') - только для реакции на нажатие. Время между нажатием и реакцией списка объектов.&lt;br /&gt;
*'''объединять одинаковые тексты''' ('' same_txt '') - Объекты с одинаковым текстом будут жить в одной ячейке таблицы с добавлением множителя xN.&lt;br /&gt;
:'''0''' - отключено;&lt;br /&gt;
:'''1''' - включено.&lt;br /&gt;
*'''множитель для иконок''' ('' ico_res '') - Графический ресурс(анимация) для отображения множителя у иконок для типа списка 4(поиск по иконкам) и включенного объединения одинаковых текстов. Первый фрейм - х2, второй - х3 и т.д.&lt;br /&gt;
*'''исключать одинаковые тексты''' ('' unTxtID '') - исключает или не исключает из поиска объекты с одинаковыми txtID, используется совместно с '''одного типа'''.&lt;br /&gt;
*'''вероятность пассивного предпочитаемого объекта''' ('' prefProb '') - вероятность выпадения пассивного объекта, если у объекта стоит параметр &amp;quot;предпочитаемый&amp;quot; используется при исключении  объектов с одинаковыми текстовыми ID.&lt;br /&gt;
*'''вероятность активного предпочитаемого объекта''' ('' prefProbAct '') - вероятность выпадения активного объекта, если у объекта стоит параметр &amp;quot;предпочитаемый&amp;quot; используется при исключении  объектов с одинаковыми текстовыми ID.&lt;br /&gt;
*'''реагировать на невидимые''' ('' canInvis '') - реагировать или нет на объекты, которые в момент игры не видны в таблице. (Кликаются только те [[hiddenObject]] которые отображены в таблице, остальные нет!).&lt;br /&gt;
*'''прятать актеров при старте''' ('' hideact '') - Устанавливать актерам видимость false при старте (по умолчанию - да)(То есть всем актерам которые находятся на сцене при запуске принудительно установиться vis = 0).&lt;br /&gt;
*'''аномалия''' ('' anom '') - для всех аномалий кроме текстовой [[HiddenObject]] и игровой фон должны быть подобъектами [[Effect]]):&lt;br /&gt;
:'''0''' - нет;&lt;br /&gt;
:'''1''' - текстовая;&lt;br /&gt;
:'''2''' - ночь; В машине которая выставляет эффект ночь, должны передавать сцене с объектом аномалия ( obj=&amp;quot;scene&amp;quot;; par=&amp;quot;drag&amp;quot;; val=&amp;quot;0&amp;quot; ) и ( obj=&amp;quot;scene&amp;quot;; st=&amp;quot;update&amp;quot;);&lt;br /&gt;
:'''3''' - трансформация цвета;&lt;br /&gt;
:'''4''' - дым.&lt;br /&gt;
При применении аномалии &amp;quot;блитц&amp;quot; через объект [[Economics]] набор параметров: anom=&amp;quot;0&amp;quot;, is_blitz=&amp;quot;1&amp;quot;.&lt;br /&gt;
*'''флурри''' ('' flurry '') - Нужно ли отправлять статистику флурри &amp;quot;regexp=&amp;quot;:&lt;br /&gt;
:'''0''' - нет;&lt;br /&gt;
:'''1''' - да.&lt;br /&gt;
*'''вероятность инверсии''' ('' invProb '') - Вероятность того, что сцена будет перевернута по x;&lt;br /&gt;
*'''набор''' ('' kit '') - Набор, из которого берутся объекты.&lt;br /&gt;
*'''поведение дифференсов''' (''difbeh'') - Поведение найденных объектов в режиме поиск отличий.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - появление новых объектов'''&lt;br /&gt;
&lt;br /&gt;
*'''время''' ('' acttm '') - Время появления объекта (мс);&lt;br /&gt;
*'''начальный скейл''' ('' actsc '') - Начальный скейл;&lt;br /&gt;
*'''начальная альфа''' ('' actal '') - Начальная альфа.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - сессии'''&lt;br /&gt;
&lt;br /&gt;
*'''сессионность''' ('' ses ''):&lt;br /&gt;
:'''0''' -  нет;&lt;br /&gt;
:'''1''' -  да.&lt;br /&gt;
*'''ограничение сессий''' ('' sesLim '') - Максимальное количество сессий, в которые можно играть.&lt;br /&gt;
*'''набор объектов''' ('' sesSet '') - Набор объектов при заходе в хидден после последней сессии:&lt;br /&gt;
:'''0''' - случайный;&lt;br /&gt;
:'''1''' - последний фон;&lt;br /&gt;
:'''2''' - пустой.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - цвета'''&lt;br /&gt;
&lt;br /&gt;
*'''Цвет обязательных''' ('' c_forced '') — цвет текста для обязательных объектов, указывается код цвета, если строку не заполнять цвет не используется.&lt;br /&gt;
*'''Цвет найденных''' ('' c_found '') — цвет текста для найденных объектов, указывается код цвета, если строку не заполнять цвет не используется.&lt;br /&gt;
*'''Время перехода''' ('' c_time '') - Время изменения цвета.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - время'''&lt;br /&gt;
&lt;br /&gt;
*'''игры''' ('' tmGm '') - Общее время игры. Если оно истекает, идет переход на экран [время вышло] (см.ниже):&lt;br /&gt;
:'''-1''' - игнорируется;&lt;br /&gt;
:'''число''' - время игры.&lt;br /&gt;
*'''прерывать''' ('' tmInt ''):&lt;br /&gt;
:'''1''' - по окончанию времени игра будет прервана;&lt;br /&gt;
:'''0''' - по окончанию времени игра продолжится, но переход все равно будет на неудачную ветку.&lt;br /&gt;
*'''паузы''' ('' tmWt '') - Время перед закрытием окна после разбора (для осмысления результата);&lt;br /&gt;
*'''полета актера''' ('' tmActor '') - Время работы актера, после которого обрабатываются ячейки таблицы;&lt;br /&gt;
*'''перед исчезновением''' ('' tmWtHide '') - Время, в течение которого объект остается видимым после обработки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - ошибки'''&lt;br /&gt;
&lt;br /&gt;
*'''flyer при ошибке''' ('' fl '') - обычно объект типа flyer (летуны которых надо показать в точке клика, если этот клик ошибочный). Можно в принципе любой объект который обладает состоянием &amp;quot;beg&amp;quot;. Ошибочный клик - все клики мимо [[hiddenObject]].&lt;br /&gt;
*'''вычет времени при ошибке''' ('' tmPen '') - Сколько отнять миллисекунд за ошибочный клик.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - переход'''&lt;br /&gt;
&lt;br /&gt;
*'''при разборе''' ('' scrOk '') - Экран на который надо перейти, если все объекты найдены.&lt;br /&gt;
*'''время вышло''' ('' scrOv '') - Экран на который надо перейти если время вышло, а не все объекты найдены.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - система очков'''&lt;br /&gt;
&lt;br /&gt;
*'''Счетчик''' ('' score_counter '') — счетчик, отображающий набранные очки.&lt;br /&gt;
*'''счетчик (test)''' ('' score_counter_test '') — счетчик, отображающий набранные очки.&lt;br /&gt;
*'''ID пака''' ('' pack_id '') — строковый идентификатор пака(для записи набранных очков в [[options]] должен быть заполнен); используется для вытаскивания суммарных очков в счетчики и дальнейшего их отображения.&lt;br /&gt;
*'''ID игры''' ('' game_id '') — строковый идентификатор игры (сцены).&lt;br /&gt;
'''Обязательно должен иметь префикс ID пака. Например, если pack_id = &amp;quot;pack1&amp;quot;, то game_id = &amp;quot;pack1.game1&amp;quot;'''.&lt;br /&gt;
*'''мультипликатор очков''' ('' scoreM '') — Мультипликатор очков за объект, если все собрано за отведенное время.&lt;br /&gt;
*'''Очки''' ('' score '') — количество очков, которые даются за каждый найденный [[hiddenObject]].&lt;br /&gt;
*'''Бонус за скорость''' ('' bonusS '') — бонус за быстро найденный [[hiddenObject]].&lt;br /&gt;
*'''Бонусный интервал''' ('' bonusT '') — время, за которое нужно найти [[hiddenObject]] для получения бонуса.&lt;br /&gt;
*'''бонус за время''' ('' bonusTime '') - бонус за оставшееся время игры = коэффициент который введем * оставшееся время таймера.&lt;br /&gt;
*'''Бонусный мультипликатор''' ('' grow ''):&lt;br /&gt;
:'''1''' - умножать очки за второй быстро найденный предмет на 2, за третий на 3, и т. д.&lt;br /&gt;
:'''0''' - не умножать.&lt;br /&gt;
*'''Количество кликов для штрафа''' ('' wrngC '') — количество неверных кликов, после которых запустится блокатор (см. ниже).&lt;br /&gt;
*'''Интервал для штрафа''' ('' wrngT '') — время, за которое нужно совершить неверные клики.&lt;br /&gt;
*'''Штраф (очки)''' ('' delS '') — Сколько отнимаем очков за ошибочный клик.&lt;br /&gt;
*'''Штраф (время)''' ('' delT '') — Сколько отнимаем времени за ошибочный клик.&lt;br /&gt;
*'''блокатор''' ('' blockImg '') - Объект, блокирующий сцену при серии ошибочных кликов. (Обычно маска растянутая на весь экран. '''ДОЛЖНА иметь состояние &amp;quot;beg&amp;quot;''').&lt;br /&gt;
*'''время блокировки''' ('' blockTime '') - Время блокировки при серии ошибочных кликов по истечении переводит &amp;quot;блокатор&amp;quot; в состояние '''end'''.&lt;br /&gt;
*'''порог touch move''' ('' mvSens '') - Порог, начиная с которого движение пальца воспринимается как мув и сбрасываются неправильные клики.&lt;br /&gt;
*'''touch move как штраф''' ('' tchMvPen '') - Считать ли touch move за ложное попадание:&lt;br /&gt;
:'''0''' - нет;&lt;br /&gt;
:'''1''' - да.&lt;br /&gt;
*'''клик на найденный как штраф''' ('' clkFndPen '') - Считать ли клик на найденный объект за ложное попадание(актуально если объекты остаются на сцене).&lt;br /&gt;
*'''аниматор очков''' ('' scoreAnim '') - машина, которая анимирует полученные очки, должна иметь состояние '''anim'''.&lt;br /&gt;
*'''коэффициент комбо''' ('' cmbCoef '') - коэффициент для расчёта комбо очков по формуле s(n) = k * n * (n + 1).&lt;br /&gt;
*'''счётчик очков за объект''' ('' objScCnt '') - счётчик который показывает очки за последний полученный объект (учитывая бонусы).&lt;br /&gt;
*'''счётчик комбо-очков''' ('' cmbScCnt '') - счётчик очков полученных за комбо-серию.&lt;br /&gt;
*'''счётчик комбо-серий''' ('' cmbRwCnt '') - счётчик который показывает комбо-серию (комбо из 2-х, 3-х и т.д. найденных объектов).&lt;br /&gt;
*'''комбо2 прогресс''' ('' cmb2Pr '') - комбо2 прогресс;&lt;br /&gt;
*'''комбо2 время''' ('' cmb2Tm '') - комбо2 время;&lt;br /&gt;
*'''комбо2 кол-во''' ('' cmb2Num '') - комбо2 кол-во.&lt;br /&gt;
*'''очки 3.0''' (''score30'') - Использовать систему очков, придуманную Степановым в августе 2015.&lt;br /&gt;
*'''очки 3.0 коэф. комбо''' (''score30lc'') - в конце комбо даем за него очков n * s * l * (n-1) - где n число предметов в комбо, s - очки за один предмет, l - этот коэффициент&lt;br /&gt;
*'''очки 3.0 коэф. аккуратности''' (''score30la'') - в конце игры начисляем очки за точность по формуле s * la / (1 + Nmiss / N)&lt;br /&gt;
*'''очки 3.0 коэф. времени 1 (l)''' (''score30lt'') - в конце игры начисляем очки за время по формуле s * lt / (1 + T / (tt * N))&lt;br /&gt;
*'''очки 3.0 коэф. времени 2 (t)''' (''score30tt'') - в конце игры начисляем очки за время по формуле s * lt / (1 + T / (tt * N))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Группа - звезды'''&lt;br /&gt;
&lt;br /&gt;
*'''combo num''' ('' comboNum '') - Количество быстро найденных объектов, нужное для получения звезды Combo.&lt;br /&gt;
*'''combo time''' ('' comboInt '') - Интервал между кликами, считающимися быстрыми для Combo.&lt;br /&gt;
*'''accuracy''' ('' accuracy '') - Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные).&lt;br /&gt;
*'''лимит ложных кликов''' ('' starWrAcc '') - Лимит ложных кликов.&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;
:'''с маленьким полем''' - бот будет играть на отдельном поле (??????);&lt;br /&gt;
:'''горячий стул''' - hotsit, игра двух живых игроков на одном девайсе, передача хода по очереди;&lt;br /&gt;
:'''мультиплеер''' - игра через сервер с живым оппонентом;&lt;br /&gt;
*'''файл уровня''' - xml файл с настройками сложности бота ([[HiddenList#Настройка сложности бота|пример]]);&lt;br /&gt;
*'''номер уровня''' - номер уровня в файле (начиная с 0);&lt;br /&gt;
*'''номер уровня max''' - если задан больше предыдущего номера - выбирается рандомное значение;&lt;br /&gt;
*'''multiplayer''' - объект мультиплеера;&lt;br /&gt;
*'''кнопка хинта''' - кнопка хинта для 2го игрока \ бота;&lt;br /&gt;
*'''проверять интернет''' - проверять интернет при игре с ботом (так же, как при игре с живым игроком);&lt;br /&gt;
*'''первый ход (вероятность)''' - вероятность первого хода игрока при игре с ботом (в процентах);&lt;br /&gt;
*'''t min abs ms''' - самая минимальная задержка между ходами бота;&lt;br /&gt;
*'''t1 min ms''' - минимальное время для быстрого нахождения предмета ботом;&lt;br /&gt;
*'''t1 max ms''' - максимальное время для быстрого нахождения предмета ботом;&lt;br /&gt;
*'''t1 prob %''' - вероятность быстрого нахождения предмета ботом;&lt;br /&gt;
*'''t2 min ms''' - минимальное время для нахождения предмета ботом;&lt;br /&gt;
*'''t2 max ms''' - максимальное время для нахождения предмета ботом;&lt;br /&gt;
*'''t coef delta''' - коэффициент сложности (кажется от -1 до 1, могу ошибаться);&lt;br /&gt;
*'''t wrong min ms''' - минимальное время между ложными кликами (мимо объекта) бота;&lt;br /&gt;
*'''t wrong max ms''' - максимальное время между ложными кликами бота;&lt;br /&gt;
*'''bot hint chance (percent)''' - шанс бота использовать хинт (в процентах);&lt;br /&gt;
*'''bot hint num''' - максимальное кол-во использования хинтов ботом на игру;&lt;br /&gt;
*'''доп. поле x''' - координаты доп. поля по Х;&lt;br /&gt;
*'''доп. поле y''' - координаты доп. поля по Y;&lt;br /&gt;
*'''доп. поле sx''' - масштаб доп. поля;&lt;br /&gt;
*'''доп. поле sy''' - масштаб доп. поля;&lt;br /&gt;
*'''указатель хода''' - указатель хода бота\оппонента. Должен иметь состояние ''beg'' и находитсья в сцене с хидденами;&lt;br /&gt;
*'''родитель''' - родитель, в который поместим клонированную сцену (доп. поле);&lt;br /&gt;
*'''счетчик очков бота''' - счетчик, выводящий очки;&lt;br /&gt;
*'''счетчик без бонусов бота''' - счетчик, выводящий очки без бонусов за время и точность;&lt;br /&gt;
*'''комбо2 прогресс бота''' - комбо2 прогресс;&lt;br /&gt;
*'''аниматор очков бота''' - машина, которая при нахождении хиддена анимирует полученные очки;&lt;br /&gt;
*'''счетчик очков за объект бот''' - счетчик, выводящий очки за объект;&lt;br /&gt;
*'''счетчик комбо-серий (макс) бот''' - счетчик, выводящий макс. количество комбо-серий;&lt;br /&gt;
*'''счетчик комбо-серий (тек) бот''' - счетчик, выводящий текущее количество комбо-серий;&lt;br /&gt;
*'''flyer при ошибке''' - объект типа ''flyer'' который надо показать в точке клика, если этот клик ошибочный;&lt;br /&gt;
*'''таймер хода бота''' - таймер хода бота;&lt;br /&gt;
*'''таймер хода игрока''' - таймер хода игрока;&lt;br /&gt;
*'''длительность хода ms''' - длительность хода игрока \ бота. Если задан 0 - игроки ходят одновременно;&lt;br /&gt;
*'''длительность паузы между ходами ms''' - длительность паузы при смене хода игрока\бота.&lt;br /&gt;
&lt;br /&gt;
=== Настройка сложности бота ===&lt;br /&gt;
&lt;br /&gt;
Файл уровней для хидден-бота должен иметь такую структуру:&lt;br /&gt;
   &amp;lt;bots&amp;gt;&lt;br /&gt;
     &amp;lt;obj id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;3&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;21000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;5000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/obj&amp;gt;&lt;br /&gt;
     &amp;lt;obj id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;10&amp;quot; t2min=&amp;quot;10000&amp;quot; t2max=&amp;quot;25000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;7000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/obj&amp;gt;&lt;br /&gt;
     &amp;lt;obj id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;1&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;10&amp;quot; t2min=&amp;quot;7000&amp;quot; t2max=&amp;quot;21000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;bot weight=&amp;quot;2&amp;quot; t1min=&amp;quot;1000&amp;quot; t1max=&amp;quot;2000&amp;quot; t1percent=&amp;quot;15&amp;quot; t2min=&amp;quot;3000&amp;quot; t2max=&amp;quot;5000&amp;quot; twrongmax=&amp;quot;10000&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/obj&amp;gt;&lt;br /&gt;
   &amp;lt;/bots&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*bots - основной таг&lt;br /&gt;
*obj &amp;gt; id - номер уровня&lt;br /&gt;
*bot - содержит те же параметры, что и настройки бота в хидден листе&lt;br /&gt;
&lt;br /&gt;
==Состояния==&lt;br /&gt;
&lt;br /&gt;
Состояния которые есть у листа. Мы можем передавать их с помощью различных объектов:&lt;br /&gt;
*'''invert''' - горизонтально отображает изображение;&lt;br /&gt;
*'''run''' - переводит хидден в состояние активности, если до этого был на паузе;&lt;br /&gt;
*'''pause''' -переводит хидден в состояние паузы, объекты не кликаются!&lt;br /&gt;
*'''swap_hiddens''' -меняет отображаемые в таблице поисковые объекты на случайные другие.&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
*HiddenList должен располагаться в дереве проекта ниже всех своих поисковых объектов.&lt;br /&gt;
&lt;br /&gt;
*Единственный '''обязательный объект''' о котором должен знать лист это [[Table]] для отображения списка поиска, даже если таблица не будет использоваться быть все равно должна!&lt;br /&gt;
&lt;br /&gt;
*После завершения хидден-игры (по разбору или по времени)при переходе на другой экран HiddenList записывает данные в опции в два места: первое - это то, которое указано у настройках (ID пака,  ID уровня, тип списка), для каждой локации свое; а второе - это last_game. &amp;lt;br&amp;gt;&lt;br /&gt;
Например, &amp;lt;br&amp;gt;&lt;br /&gt;
'''last_game.time_spent''' (либо же '''pck_N.lvl_N.kind_N.time_spent''') - время последней игры, &amp;lt;br&amp;gt; &lt;br /&gt;
'''last_game.clicks''' (либо же '''pck_N.lvl_N.kind_N.clicks''') - количество найденных объектов и т.д. &amp;lt;br&amp;gt;&lt;br /&gt;
Все их можно увидеть в опциях. last_game был придуман для того, чтобы было удобно задавать счетчики в окне результатов. Также эти данные могут быть сохранены в опциях, если задать листу состояние '''wait'''.&lt;br /&gt;
&lt;br /&gt;
*Для проверки кликабельности хидденобъектов можно воспользоваться следующими настройками в app.icf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[GHiddenList]&lt;br /&gt;
HitTest=0&lt;br /&gt;
HitTestDx=1 - шаг по х&lt;br /&gt;
HitTestDy=1 - шаг по y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
в результате после перехода на сцену с хидденом появится файл, в котором будет казан объекты и координаты в которых они не тапаются.&lt;br /&gt;
&lt;br /&gt;
== Добавляемые параметры ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''появляется новый объект: изменить состояние объекта''' ('' actst ''):&lt;br /&gt;
:'''объект''' ('' obj '') - Объект, состояние которого нужно изменить;&lt;br /&gt;
:'''состояние''' ('' st '') - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
[[Файл:HOList_3.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''разбор: если был экран''' ('' wscrOk '') - При нахождении всех объектов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:&lt;br /&gt;
:'''был экран''' ('' was '') - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;&lt;br /&gt;
:'''перейти на''' ('' scr '') - Переходим на этот экран, если экран из предыдущего поля уже открывался.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''разбор: изменить состояние объекта''' ('' nstOk '') - При нахождении всех объектов, перевести объект в новое состояние:&lt;br /&gt;
:'''объект''' ('' obj '') - Перевести объект в состояние из следующего поля;&lt;br /&gt;
:'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''разбор: изменить параметр объекта''' ('' chgOk '') - При нахождении всех объектов, изменить параметр объекта:&lt;br /&gt;
:'''объект''' ('' obj '') - этот объект меняет свой параметр;&lt;br /&gt;
:'''свойство''' ('' par '') - Параметр, который мы изменяем;&lt;br /&gt;
:'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''не успел: если был экран''' ('' wscrOv '') - Если вышло время, а объекты не найдены, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:&lt;br /&gt;
:'''был экран''' ('' was '') - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;&lt;br /&gt;
:'''перейти на''' ('' scr '') - Переходим на этот экран, если экран из предыдущего поля уже открывался.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''не успел: изменить состояние объекта''' ('' nstOv '') - Если вышло время, а объекты не найдены, перевести объект в новое состояние:&lt;br /&gt;
:'''объект''' ('' obj '') - перевести объект в состояние из следующего поля;&lt;br /&gt;
:'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''не успел: изменить параметр объекта''' ('' chgOv '') - Если вышло время, а объекты не найдены, изменить параметр объекта:&lt;br /&gt;
:'''объект''' ('' obj '') - этот объект меняет свой параметр;&lt;br /&gt;
:'''свойство''' ('' par '')- Параметр, который мы изменяем;&lt;br /&gt;
:'''значение''' ('' val '') - Новое значение параметра.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''счетчик очков''' ('' scoreCnt ''):&lt;br /&gt;
:'''счетчик''' ('' cnt '') - Каунтер, которому приходят очки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''группа extra bonus''' ('' extraBonus ''). Используется для economics, при нахождении объекта с некой вероятностью может выпасть бонус. Объект который анимирует появление бонуса должен иметь состояние show, время на анимацию бонуса - 10 секунд:&lt;br /&gt;
:'''монетки объект''' ('' coinsObj '') - объект который анимирует получение монет;&lt;br /&gt;
:'''монетки вероятность''' ('' coinsProb '') - вероятность по нахождению объекта получить дополнительно монетки;&lt;br /&gt;
:'''опыт объект''' ('' expObj '') - объект который анимирует получение опыта;&lt;br /&gt;
:'''опыт вероятность''' ('' expProb '') - вероятность по нахождению объекта получить дополнительно опыт;&lt;br /&gt;
:'''энергия объект''' ('' energyObj '') - объект который анимирует получение энергии;&lt;br /&gt;
:'''энергия вероятность''' ('' energyProb '') - вероятность по нахождению объекта получить дополнительно энергию.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''Объект, который срабатывает, если долго не находить хидден''' ('' notfnd ''):&lt;br /&gt;
:'''объект''' ('' obj '') -  Объект, который переводится в указанное состояние, если долго не находить хидден;&lt;br /&gt;
:'''состояние''' ('' st '') - Состояние, в которое переводится объект;&lt;br /&gt;
:'''время''' ('' tm '') - Время от последнего нахождения хиддена, после которого срабатывает объект.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии с исчезновением букв''' ('' hlPars ''):&lt;br /&gt;
:'''оставшиеся буквы''' ('' min '') - Минимальное количество оставшихся букв в предложении;&lt;br /&gt;
:'''задержка''' ('' wait '') - Момент времени, начиная с которого аномалия будет проявляться;&lt;br /&gt;
:'''задержка 2''' ('' wait2 '') - Задержка для появившихся слов, изначально недоступных;&lt;br /&gt;
:'''время''' ('' time '') - Время, за которое должны исчезнуть все буквы (если -1, то до конца времени в хиддене);&lt;br /&gt;
:'''промежутки''' ('' dt '') - промежутки времени между каждой итерацией;&lt;br /&gt;
:'''флайер''' ('' fl '') - Флайер, анимирующий исчезающую букву (должен иметь '''текстовый''' тип).&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии ночь''' ('' nightPars ''): &lt;br /&gt;
:'''effect''' ('' ef '') - эффект, управляющий трансформацией цвета;&lt;br /&gt;
:'''tag''' ('' eftag '') - Тег эффекта, реализующего ночь.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии трансформации цвета''' ('' colInvPars ''):&lt;br /&gt;
:'''effect''' ('' ef '') - Эффект, управляющий трансформацией цвета;&lt;br /&gt;
:'''tags''' ('' eftags '') - Теги эффектов, реализующих трансформацию цвета, из которых будет выбран один.&lt;br /&gt;
&lt;br /&gt;
[[Файл:+.png]] '''параметры аномалии дым''' ('' smokePars ''): &lt;br /&gt;
:'''effect''' ('' ef '') - Машина, управляющая эффектом дыма;&lt;br /&gt;
:'''tag''' ('' eftag '') - Тег эффекта, реализующего дым.&lt;br /&gt;
&lt;br /&gt;
Все аномалии кроме текстовой должны быть настроены с помощью объекта [[Effect]]&lt;br /&gt;
&lt;br /&gt;
== Get Started==&lt;br /&gt;
Минимальный набор ресурсов:&lt;br /&gt;
* Фоновая картинка для поисковой сцены&lt;br /&gt;
* Комплект картинок, с которых будут сделаны поисковые [[HiddenObject|объекты]]&lt;br /&gt;
* Текстовые объекты для идентификации спрятанных объектов&lt;br /&gt;
&lt;br /&gt;
Минимальный набор объектов редактора:&lt;br /&gt;
* [[Image]] который будет изменен в хидден-лист&lt;br /&gt;
* [[Table|Таблица]] в которой будут отображаться тексты/картинки (зависит от режима) спрятанных объектов.&lt;br /&gt;
* По одному [[Image]] для каждого спрятанного объекта (будут созданы автоматически при добавлении картинок из базы ресурсов на сцену)&lt;br /&gt;
&lt;br /&gt;
Наши действия:&lt;br /&gt;
# откроем [[Интерфейс_ScenceEditor|редактор сцен]] и создадим новый проект,&lt;br /&gt;
# добавим новый экран с именем ''scrHList''&lt;br /&gt;
# создадим в этом экране сцену ''stgHList''&lt;br /&gt;
# перейдём в [[Интерфейс_ResourceEditor|редактор ресурсов]]&lt;br /&gt;
## создаём папку ''HList''&lt;br /&gt;
## добавим в ней картинку  для фона и картинки для спрятанных объектов.&lt;br /&gt;
## выделим все картинки в дереве ресурсов и перенесем их на нашу сцену ''stgHList'', при этом для каждой картинки автоматически создастся объект [[Image]].&lt;br /&gt;
## закроем редактор ресурсов&lt;br /&gt;
# перейдём в [[Интерфейс_TextEditor|редактор текстов]]&lt;br /&gt;
## создаём папку ''HListText''&lt;br /&gt;
## добавим в нее текстовые объекты, по одному на каждый поисковый объект.&lt;br /&gt;
## сохраним внесенные изменения.&lt;br /&gt;
# перейдём в редактор сцен.&lt;br /&gt;
# создадим в сцене stgHList объект [[Table]] и назовем его HOT&lt;br /&gt;
## настроим размер и положение таблицы, согласно нашего дизайна&lt;br /&gt;
## установим параметры колонок = &amp;quot;50&amp;quot;, колонок видно = &amp;quot;5&amp;quot;, строчек = &amp;quot;5&amp;quot;, строчек видно = &amp;quot;1&amp;quot; (таким образом в таблице будут отображаться 5 поисковых предметов, а максимальное количество объектов для поиска будет равно 250)&lt;br /&gt;
## установим параметры скорость листания = &amp;quot;650&amp;quot;, добавлять по строкам = &amp;quot;0&amp;quot;, центрировать = &amp;quot;растянуть&amp;quot;, сдвигать ячейки при удалении =&amp;quot;да&amp;quot;&lt;br /&gt;
# создадим в сцене stgHList объект '''HiddenList''', напоминаем что его размер и положение на сцене не имеют значения, по этому расположим его где-нибудь за границей экрана. &amp;lt;br&amp;gt;'''Важно''' В дереве проекта хидден-лист должен быть ниже всех своих поисковых объектов.&lt;br /&gt;
## в поле таблица указываем нашу HOT&lt;br /&gt;
## установим параметр объектов = &amp;quot;10&amp;quot;&lt;br /&gt;
## установим параметр пропадание объектов = &amp;quot;да&amp;quot;&lt;br /&gt;
## установим параметр реагировать на отпускание = &amp;quot;да&amp;quot;&lt;br /&gt;
## установим параметр реагировать на невидимые = &amp;quot;нет&amp;quot;&lt;br /&gt;
## установим параметр набор = &amp;quot;1&amp;quot;&lt;br /&gt;
# Настроим объекты, которые будут прятаться. Для этого выделим картинки поисковых объектов, добавленные нами ранее, и изменим им тип на &amp;quot;hiddenObject&amp;quot;. Оставляя группу этих объектов выделенной, настроим им параметры:&lt;br /&gt;
## в поле list укажем наш HiddenList&lt;br /&gt;
## параметр набор = &amp;quot;1&amp;quot;&lt;br /&gt;
## Теперь снимаем выделение и каждому объекту в поле текстID перетаскиваем мышкой соответствующий текстовый объект из текстовой базы (поле текстID должно быть активно для редактирования - по нему нужно кликнуть мышкой)&lt;br /&gt;
# сохраним проект&lt;br /&gt;
# запустим [[Интерфейс_Viewer|вьювер]]&lt;br /&gt;
&lt;br /&gt;
== Динамический HG==&lt;br /&gt;
Функционал позволяет генерировать HL самостоятельно HO объекты из файла конфига.&lt;br /&gt;
 &lt;br /&gt;
П.С. - вся графика д.б. динамической. Данные файлы может создавать HO_Manager ( http://wiki/index.php/HO_Manager )&lt;br /&gt;
&lt;br /&gt;
[[Файл:D485ecbbbb.jpg|right]]&lt;br /&gt;
*'''файл уровня''' ('' configFile'') — указываем путь к файлу конфигу, где перечисляем файлы с HG. &lt;br /&gt;
*'''список графических ресурсов''' — служебное, пока не используется;&lt;br /&gt;
*'''список текстовых ресурсов''' — служебное, пока не используется;&lt;br /&gt;
*'''номер уровня''' ('' hiddenLevelNum '') — номер уровня из файла;&lt;br /&gt;
*'''образец хиддена''' ('' hiddenTemplate '') — obj_id HO объект, должен иметь нужные параметры (остальные возьмутся из конфига) ;&lt;br /&gt;
*'''образец нашлёпки''' ('' hiddenPatchTempl '') — obj_id нашлёпки на HO объект, должна иметь нужные параметры (остальные возьмутся из конфига);&lt;br /&gt;
*'''корневой объект''' ('' hiddenRoot '') — obj_id корневого объект в который сложим всех клонов;&lt;br /&gt;
*'''точечный спецэффект''' ('' hiddenEffect '') — ;&lt;br /&gt;
*'''фоновый объект ''' ('' hiddenBG '') — obj_id объекта которому поменяем ресурс;&lt;br /&gt;
&lt;br /&gt;
Требования, вся графика HO,BG отрисовывается без учёта пивоты;&lt;br /&gt;
&lt;br /&gt;
Файлы конфиги имеют вид:&lt;br /&gt;
Файл уровня имеет вид:&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;levels&amp;quot;: [&lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;file&amp;quot;: &amp;quot;ViewerFiles/DynHid/hidden0.cfg&amp;quot;,&lt;br /&gt;
            &amp;quot;pack&amp;quot;:3&lt;br /&gt;
         }&lt;br /&gt;
      ]&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
:Где &amp;quot;levels&amp;quot; - линки на файлы уровней. &lt;br /&gt;
:::&amp;quot;file&amp;quot; - путь к файлу;&lt;br /&gt;
:::&amp;quot;pack&amp;quot; - пак в который попадут ресурсы;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Файл конкретного уровня имеет вид:&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;bg&amp;quot;: {&lt;br /&gt;
         &amp;quot;src&amp;quot;: &amp;quot;bg.png&amp;quot;,&lt;br /&gt;
         &amp;quot;w&amp;quot;: 2048,&lt;br /&gt;
         &amp;quot;h&amp;quot;: 1151,&lt;br /&gt;
         &amp;quot;id&amp;quot;: 16,&lt;br /&gt;
         &amp;quot;color&amp;quot;: &amp;quot;#ffffff&amp;quot;,&lt;br /&gt;
         &amp;quot;tile&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;hiddens&amp;quot;: [&lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;id&amp;quot;: 1022,&lt;br /&gt;
            &amp;quot;nm&amp;quot;: &amp;quot;bucket_01&amp;quot;,&lt;br /&gt;
            &amp;quot;res&amp;quot;: 129,&lt;br /&gt;
            &amp;quot;bg&amp;quot;: 666,&lt;br /&gt;
            &amp;quot;rect&amp;quot;: {&lt;br /&gt;
               &amp;quot;x&amp;quot;: 1393,&lt;br /&gt;
               &amp;quot;y&amp;quot;: 653,&lt;br /&gt;
               &amp;quot;w&amp;quot;: 115,&lt;br /&gt;
               &amp;quot;h&amp;quot;: 137&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;objs&amp;quot;: [{&lt;br /&gt;
               &amp;quot;res&amp;quot;: 1488,&lt;br /&gt;
               &amp;quot;rect&amp;quot;: {&lt;br /&gt;
                  &amp;quot;x&amp;quot;: 1393,&lt;br /&gt;
                  &amp;quot;y&amp;quot;: 653,&lt;br /&gt;
                  &amp;quot;w&amp;quot;: 115,&lt;br /&gt;
                  &amp;quot;h&amp;quot;: 137&lt;br /&gt;
               }&lt;br /&gt;
            }],&lt;br /&gt;
         }, &lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 1537,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 409,&lt;br /&gt;
            &amp;quot;id&amp;quot;: 1023,&lt;br /&gt;
            &amp;quot;res&amp;quot;: 329,&lt;br /&gt;
            &amp;quot;nm&amp;quot;: &amp;quot;bucket_02&amp;quot;,&lt;br /&gt;
            &amp;quot;rect&amp;quot;: {&lt;br /&gt;
               &amp;quot;x&amp;quot;: 1493,&lt;br /&gt;
               &amp;quot;y&amp;quot;: 366,&lt;br /&gt;
               &amp;quot;w&amp;quot;: 81,&lt;br /&gt;
               &amp;quot;h&amp;quot;: 87&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      ]&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
:Где &amp;quot;bg&amp;quot; - настройки фона. &lt;br /&gt;
:::&amp;quot;src&amp;quot; - сорс графического файла в ресурсной базе;&lt;br /&gt;
:::&amp;quot;color&amp;quot; - цвет которым будет залито под фоном, нужное если фон имеет дырки;&lt;br /&gt;
:::&amp;quot;tile&amp;quot; - тайлинг фона;&lt;br /&gt;
:::&amp;quot;id&amp;quot; - id ресурса из ресурсной базы;&lt;br /&gt;
::&amp;quot;hiddens&amp;quot; - перечень HO с их настройками&lt;br /&gt;
::::&amp;quot;id&amp;quot; - TxtId;&lt;br /&gt;
::::&amp;quot;nm&amp;quot; - имя HO;&lt;br /&gt;
::::&amp;quot;res&amp;quot; - графический ресурс HO;&lt;br /&gt;
::::&amp;quot;bg&amp;quot; - графический ресурс тени;&lt;br /&gt;
::::&amp;quot;rect&amp;quot; - настройки &amp;quot;res&amp;quot;;&lt;br /&gt;
:::::&amp;quot;x&amp;quot; - координата x, в координатах корневого объекта;&lt;br /&gt;
:::::&amp;quot;y&amp;quot; - координата y, в координатах корневого объекта;&lt;br /&gt;
:::::&amp;quot;w&amp;quot; - ширина;&lt;br /&gt;
:::::&amp;quot;h&amp;quot; - высота;&lt;br /&gt;
::::&amp;quot;objs&amp;quot; - перечень нашлёпок;&lt;br /&gt;
:::::&amp;quot;res&amp;quot; - графический ресурс нашлёпки;&lt;br /&gt;
:::::&amp;quot;rect&amp;quot; - настройки графического ресурса нашлёпки;&lt;br /&gt;
::::::&amp;quot;x&amp;quot; - координата x, в координатах HO;&lt;br /&gt;
::::::&amp;quot;y&amp;quot; - координата y, в координатах HO;&lt;br /&gt;
::::::&amp;quot;w&amp;quot; - ширина;&lt;br /&gt;
::::::&amp;quot;h&amp;quot; - высота;&lt;br /&gt;
&lt;br /&gt;
== Авто тест HL ==&lt;br /&gt;
Для запуска автотеста, нам нужно указать в app.icf параметры:&lt;br /&gt;
&lt;br /&gt;
[GHiddenList]&lt;br /&gt;
:'''HitTest''' - мода автотеста; (0- выкл.; 1 - разовая логика, пишется в файл раз в сессию для одного хидден листа ; 2 - при каждом init любого хидн листа дописывается статистика в файл);&lt;br /&gt;
:'''HitTestDx''' = 5 - шаг с которым проходит автокликер по X;&lt;br /&gt;
:'''HitTestDy''' = 5 - шаг с которым проходит автокликер по Y;&lt;br /&gt;
&lt;br /&gt;
Для HitTest==2, очень помогает параметр &amp;quot;allow_background&amp;quot;. Остаётся только написать скриптулину, которая ходит сама между экранами.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample&lt;br /&gt;
&lt;br /&gt;
HiddenList.rar&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Get Started]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9318</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9318"/>
		<updated>2018-01-05T11:59:36Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Очковая система */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Первый шарик''' - машина, отображающая первый шарик. При выстреле в эту машину пишется параметр '''curr_bomb_type''', который говорит о том, выстрелили мы обычным шариком или бустером (0 - обычный шарик).&lt;br /&gt;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'' (1+2+3+4...), ''new'' (n * (n + 1) / 2 * coef * k), ''Xkoef'' (x * n * k * coef), где n - к-во сматченных шариков, k - номер удачного выстрела в серии, coef - коэффициент, x - очки за шарик.&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''коеф для матча (xkoef)''' - (xkoef_match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала (xkoef)''' - (xkoef_drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''коеф для бустера (xkoef)''' - (xkoef_booster_coef) коэффициент очков для матча.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить. Количество обвалившихся шариков пишется в параметр '''bubbles_left'''&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Примечания=&lt;br /&gt;
*Если нужно изменить номер фрейма шариков перед запуском уровня, это лучше делать в машинке на том же экране, где находится сам объект. Объект Бабблшутер уже должен быть проинициализирован к этому времени, чтобы избежать падений. После изменения номера фрейма (параметр res%N%Frame) нужно передать Бабблшутеру состояние update_params.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter&amp;diff=9314</id>
		<title>Bubble Shooter</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter&amp;diff=9314"/>
		<updated>2017-12-14T13:01:51Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&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;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''Включить курсор (usecursor)''' - нет - использовать обычный прицел, да - использовать курсор.&lt;br /&gt;
*'''res''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Кол-во шариков''' - количество шариков в курсоре.&lt;br /&gt;
*'''Отражения''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''минимальный скейл''' - (curminsc) минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл''' - (curmaxsc) максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования''' - (cursctm) время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Эффекты=&lt;br /&gt;
*'''Удар бомбы об гвоздь''' - объект, запускаемый на месте удара бомбы об гвоздь.&lt;br /&gt;
*'''Удар шара об гвоздь''' - объект, запускаемый на месте удара шарика об гвоздь.&lt;br /&gt;
*'''Очки в намберсах''' - объект, запускаемый в месте лопанья шариков.&lt;br /&gt;
*'''Очки в намберсах 2''' - объект с финальными очками, летящими в цель.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Слушатели=&lt;br /&gt;
*'''Выстрел''' - объект, которому передаются нижеследующие состояния при выстреле из пушки. Состояния: '''shot''' - выстрел обычным шариком, '''mine''' - выстрел миной, '''color''' - выстрел цветной бомбой, '''bullet''' - выстрел бомбой-ядром.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего''' - Позиция стреляющего шарика (x;y)&lt;br /&gt;
*'''Расстояние от следующего''' - Расстояние от стреляющего шарика до следующего за ним.&lt;br /&gt;
*'''Высота физической сетки''' - Высота физической сетки поля.&lt;br /&gt;
*'''Ширина физической сетки''' - Ширина физической сетки поля.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''номер фрейма графики шариков''' - (clip_frame) Номер фрейма в клипе графики шариков.&lt;br /&gt;
*'''Мин.энергия''' - Мин.энергия выстрела. (или что-то в этом духе, более точной информацией обладает только создатель оригинального кода баббла)&lt;br /&gt;
*'''Макс.энергия''' - Макс.энергия выстрела.&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Тип досыпания''' - Тип досыпания шариков. Снукер или классический бабблшутер.&lt;br /&gt;
*'''подтип классического досыпания''' - (addrowt) Вид классического досыпания шариков (нормальное=0,с заполнениями пустот=1).&lt;br /&gt;
*'''Обваливать висячие''' - Обваливать висячие шарики (да/нет). Отключение этого параметра используется в игре снукер.&lt;br /&gt;
*'''Отскок от потолка''' - Название говорит само за себя. Используется в снукере.&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''матч по цифрам''' - (nummatch) Матч по цифрам (нет=0, да=1).&lt;br /&gt;
*'''multColor''' - (multColor) умножать число сматченых шариков на номер цвета при подсчете очков (нет=0, да=1).&lt;br /&gt;
*'''removeDropWait''' - (removeDropWait) &lt;br /&gt;
*'''объект подложки''' - (objback) Объект подлжоки, которой будет передана графика и состояни выстрела и его окончания.&lt;br /&gt;
*'''включить анти-чит''' - (anti_cheat) Включить проверку на чит (нет=0, да=1).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''складывать строки''' - (is_summing) Включить сбор статистики (нет=0, да=1).Складывать ли наезжающие строки при выбивании нескольких цветов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=настройки Lost Numbers=&lt;br /&gt;
*'''время перекрашивания''' - (lnreptm)&lt;br /&gt;
*'''макс скейл перекрашивания''' - (lnrepmaxsc)&lt;br /&gt;
*'''перекрашивать сразу''' - (lnrepimm) нет=0, да=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Номер цвета''' - Номер цвета, который будет соответствовать значению цвета в файле-уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек.&lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Время ожидания скина''' - время, пока поменяется скин шарика.&lt;br /&gt;
*'''Эффект''' - эффект, возникающий в момент обрастания вредителя снежинками.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter&amp;diff=9313</id>
		<title>Bubble Shooter</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter&amp;diff=9313"/>
		<updated>2017-12-14T13:00:49Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Курсор */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&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;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''Включить курсор (usecursor)''' - нет - использовать обычный прицел, да - использовать курсор.&lt;br /&gt;
*'''res''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Кол-во шариков''' - количество шариков в курсоре.&lt;br /&gt;
*'''Отражения''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''минимальный скейл''' - (curminsc) минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл''' - (curmaxsc) максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования''' - (cursctm) время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
=Эффекты=&lt;br /&gt;
*'''Удар бомбы об гвоздь''' - объект, запускаемый на месте удара бомбы об гвоздь.&lt;br /&gt;
*'''Удар шара об гвоздь''' - объект, запускаемый на месте удара шарика об гвоздь.&lt;br /&gt;
*'''Очки в намберсах''' - объект, запускаемый в месте лопанья шариков.&lt;br /&gt;
*'''Очки в намберсах 2''' - объект с финальными очками, летящими в цель.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Слушатели=&lt;br /&gt;
*'''Выстрел''' - объект, которому передаются нижеследующие состояния при выстреле из пушки. Состояния: '''shot''' - выстрел обычным шариком, '''mine''' - выстрел миной, '''color''' - выстрел цветной бомбой, '''bullet''' - выстрел бомбой-ядром.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего''' - Позиция стреляющего шарика (x;y)&lt;br /&gt;
*'''Расстояние от следующего''' - Расстояние от стреляющего шарика до следующего за ним.&lt;br /&gt;
*'''Высота физической сетки''' - Высота физической сетки поля.&lt;br /&gt;
*'''Ширина физической сетки''' - Ширина физической сетки поля.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''номер фрейма графики шариков''' - (clip_frame) Номер фрейма в клипе графики шариков.&lt;br /&gt;
*'''Мин.энергия''' - Мин.энергия выстрела. (или что-то в этом духе, более точной информацией обладает только создатель оригинального кода баббла)&lt;br /&gt;
*'''Макс.энергия''' - Макс.энергия выстрела.&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Тип досыпания''' - Тип досыпания шариков. Снукер или классический бабблшутер.&lt;br /&gt;
*'''подтип классического досыпания''' - (addrowt) Вид классического досыпания шариков (нормальное=0,с заполнениями пустот=1).&lt;br /&gt;
*'''Обваливать висячие''' - Обваливать висячие шарики (да/нет). Отключение этого параметра используется в игре снукер.&lt;br /&gt;
*'''Отскок от потолка''' - Название говорит само за себя. Используется в снукере.&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''матч по цифрам''' - (nummatch) Матч по цифрам (нет=0, да=1).&lt;br /&gt;
*'''multColor''' - (multColor) умножать число сматченых шариков на номер цвета при подсчете очков (нет=0, да=1).&lt;br /&gt;
*'''removeDropWait''' - (removeDropWait) &lt;br /&gt;
*'''объект подложки''' - (objback) Объект подлжоки, которой будет передана графика и состояни выстрела и его окончания.&lt;br /&gt;
*'''включить анти-чит''' - (anti_cheat) Включить проверку на чит (нет=0, да=1).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''складывать строки''' - (is_summing) Включить сбор статистики (нет=0, да=1).Складывать ли наезжающие строки при выбивании нескольких цветов.&lt;br /&gt;
&lt;br /&gt;
=настройки Lost Numbers=&lt;br /&gt;
*'''время перекрашивания''' - (lnreptm)&lt;br /&gt;
*'''макс скейл перекрашивания''' - (lnrepmaxsc)&lt;br /&gt;
*'''перекрашивать сразу''' - (lnrepimm) нет=0, да=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Номер цвета''' - Номер цвета, который будет соответствовать значению цвета в файле-уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек.&lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Время ожидания скина''' - время, пока поменяется скин шарика.&lt;br /&gt;
*'''Эффект''' - эффект, возникающий в момент обрастания вредителя снежинками.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9312</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9312"/>
		<updated>2017-12-14T12:55:14Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Первый шарик''' - машина, отображающая первый шарик. При выстреле в эту машину пишется параметр '''curr_bomb_type''', который говорит о том, выстрелили мы обычным шариком или бустером (0 - обычный шарик).&lt;br /&gt;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить. Количество обвалившихся шариков пишется в параметр '''bubbles_left'''&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Примечания=&lt;br /&gt;
*Если нужно изменить номер фрейма шариков перед запуском уровня, это лучше делать в машинке на том же экране, где находится сам объект. Объект Бабблшутер уже должен быть проинициализирован к этому времени, чтобы избежать падений. После изменения номера фрейма (параметр res%N%Frame) нужно передать Бабблшутеру состояние update_params.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9311</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9311"/>
		<updated>2017-12-14T12:50:11Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Первый шарик''' - машина, отображающая первый шарик. При выстреле в эту машину пишется параметр '''curr_bomb_type''', который говорит о том, выстрелили мы обычным шариком или бустером (0 - обычный шарик).&lt;br /&gt;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить. Количество обвалившихся шариков пишется в параметр '''bubbles_left'''&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9310</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9310"/>
		<updated>2017-12-14T12:46:37Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Файл:+.png обвал шариков: изменить состояние объекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Первый шарик''' - машина, отображающая первый шарик. При выстреле в эту машину пишется параметр '''curr_bomb_type''', который говорит о том, выстрелили мы обычным шариком или бустером (0 - обычный шарик).&lt;br /&gt;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить. Количество обвалившихся шариков пишется в параметр '''bubbles_left'''&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9308</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9308"/>
		<updated>2017-12-14T12:34:47Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Машины отображающие пушку */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Первый шарик''' - машина, отображающая первый шарик. При выстреле в эту машину пишется параметр '''curr_bomb_type''', который говорит о том, выстрелили мы обычным шариком или бустером (0 - обычный шарик).&lt;br /&gt;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9304</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9304"/>
		<updated>2017-12-14T12:24:01Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9302</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9302"/>
		<updated>2017-12-14T12:16:24Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] бустер радужный шар: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9301</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9301"/>
		<updated>2017-12-14T12:14:35Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] остался последний ход (на поле один цвет): изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] сгорел целевой шарик: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] обвал шариков: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9299</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9299"/>
		<updated>2017-12-14T12:08:11Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Файл:+.png Ресурсы функциональных шариков */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек. Возможные значения F - functionality в файле уровня:&lt;br /&gt;
**'''0''' - обычный шарик&lt;br /&gt;
**'''1''' - лунка (попавший в нее шарик &amp;quot;проваливается&amp;quot;)&lt;br /&gt;
**'''2''' - колючка (попавший в нее шарик просто лопается и матч не просчитывается)&lt;br /&gt;
**'''3''' - снежинка (при попадании в нее или схлопывании шарика рядом тает и превращается в обычный шарик)&lt;br /&gt;
**'''4''' - вредитель (увеличит уровень залочки шарика на один; шарик выбирается по алгоритму закрашивания)&lt;br /&gt;
**'''5''' - шарик из двух половинок; при матче с одной половинкой шарик лопается&lt;br /&gt;
**'''6''' - камень (не матчится, не опадает, не двигается, от него отскакивают шарики)&lt;br /&gt;
**'''7''' - целевой шарик (когда все такие шарики убиваются или обваливаются, игра считается выиграна)&lt;br /&gt;
**'''8''' - хищник (съедает шарик; отличается от лунки наличием анимации и убиваемостью)&lt;br /&gt;
**'''9''' - призрак (то же, что и снежинка, но у снежинки цвет задан изначально, а призрак его обретает после матча)&lt;br /&gt;
**'''A''' - шестеренка (при попадании в нее начинает двигаться по горизонтали и убивать шарики на пути)&lt;br /&gt;
**'''B''' - туман (шар с туманом, при попадании туман пропадает на определенное количество действий)&lt;br /&gt;
**'''C''' - портал (имеет два входа-выхода, обозначенных цветом по контуру портала. При попадании шаром в один из входов-выходов, шар вылетает из другого, продолжая траекторию движения)&lt;br /&gt;
**'''D''' - целевой шарик призрак (сначала действует как призрак, потом как целевой шарик)&lt;br /&gt;
**'''E''' - огонь (при попадании шар воспломеняется. после определенного количество действий шар сгорает и &amp;quot;заражает&amp;quot; огнем соседний верхний шар)&lt;br /&gt;
**'''F''' - молния (при попадании лопает все шары по горизонтальной линии)&lt;br /&gt;
**'''16''' - замароженость &lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9297</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9297"/>
		<updated>2017-12-14T11:56:34Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Добавляемые параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Индикаторы''' - индикаторы.&lt;br /&gt;
*'''Каунтеры''' - каунтеры.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры эффекта для специальных шариков===&lt;br /&gt;
*'''Этими параметрами можно пользоваться вместо &amp;quot;параметры анимации для шарика&amp;quot;'''&lt;br /&gt;
*'''Тип специального шарика''' - тип специального шарика (лунка, колючка, снежинка, вредитель, шарик из двух половинок, камень, целевой шарик, хищник, призрак, шестеренка, туман, портал, целевой шарик призрак, огонь, молния, под огнем).&lt;br /&gt;
*'''Эффект''' - Машинка, которая будет получать события:&lt;br /&gt;
**'''beg''' - начало эффекта.&lt;br /&gt;
**'''hit''' - попадание (есть матч).&lt;br /&gt;
**'''miss''' - промах (нет матча).&lt;br /&gt;
**'''match_around''' - сматчились шарики рядом.&lt;br /&gt;
**'''shot''' - выстрел.&lt;br /&gt;
**'''destroy''' - уничтожение эффекта.&lt;br /&gt;
**'''end''' - окончание эффекта (вызывается после destroy).&lt;br /&gt;
*'''Смещение эффекта''' - смещение эффекта относительно шарика.&lt;br /&gt;
*'''Количество действий''' - количество действий (попаданий, выстрелов, промахов), после которых специальный шарик начнет некую обработку (например огонь перекинется на другой шарик).&lt;br /&gt;
*'''Действие''' - действие (нет, выстрел, попадание, промах).&lt;br /&gt;
*'''Задержка перед destroy''' - время перед уничтожением эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек.&lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9286</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9286"/>
		<updated>2017-12-14T11:05:33Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Номер цвета''' - Номер цвета, который будет соответствовать значению цвета в файле-уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек.&lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&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;
*'''Время исчезновения''' - время исчезновения шарика (уменьшение по скейлу).&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Клип''' - анимация съедания шарика.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика шестеренка===&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;
*'''Задержка удаления эффекта''' - задержка удаления эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика туман===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика огонь===&lt;br /&gt;
*'''Эффект''' - эффект.&lt;br /&gt;
*'''Эффект - смещение''' - эффект - смещение.&lt;br /&gt;
*'''Каунтер''' - каунтер.&lt;br /&gt;
*'''Каунтер - смещение''' - каунтер - смещение.&lt;br /&gt;
*'''Эффект цели''' - эффект цели.&lt;br /&gt;
*'''Эффект цели - смещение''' - эффект цели - смещение.&lt;br /&gt;
*'''num''' - num.&lt;br /&gt;
*'''Клип''' - клип.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.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;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9270</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9270"/>
		<updated>2017-12-14T08:45:24Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: /* Файл:+.png Физика */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Номер цвета''' - Номер цвета, который будет соответствовать значению цвета в файле-уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек.&lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Время ожидания скина''' - время, пока поменяется скин шарика.&lt;br /&gt;
*'''Эффект''' - эффект, возникающий в момент обрастания вредителя снежинками.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
*'''PredatorD''' - Расстояние в диаметрах между летящим шариком и хищником, при котором они взаимодействуют (0 - дефолтное взаимодействие).&lt;br /&gt;
*'''vel_bang_bubbles''' - Скорость разлетающихся шариков после взрыва.&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9264</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9264"/>
		<updated>2017-12-13T15:26:37Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Номер цвета''' - Номер цвета, который будет соответствовать значению цвета в файле-уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек.&lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Время ожидания скина''' - время, пока поменяется скин шарика.&lt;br /&gt;
*'''Эффект''' - эффект, возникающий в момент обрастания вредителя снежинками.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9263</id>
		<title>Bubble Shooter NEW</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=Bubble_Shooter_NEW&amp;diff=9263"/>
		<updated>2017-12-13T15:25:43Z</updated>

		<summary type="html">&lt;p&gt;Akovinenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
Игровая механика BubbleShooter.&lt;br /&gt;
&lt;br /&gt;
=BubbleShooter Setup=&lt;br /&gt;
'''Общие настройки'''&lt;br /&gt;
*''' память''' - (memo) Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)&lt;br /&gt;
*'''res''' - графичесий ресурс поля для игры. Его размер является зоной для тапа.&lt;br /&gt;
*'''Слушатель''' - объект типа Matchbattle.&lt;br /&gt;
&lt;br /&gt;
'''Группа - Сохранения'''&lt;br /&gt;
*'''нужны''' - если '''да''', то сохраняет результаты игры в опции.&lt;br /&gt;
*'''сохранять глобально''' - (prof) Если ==0, то значение будет сохранено в текущий профиль, если 1 - то глобально.&lt;br /&gt;
*'''место''' - место в опциях, куда сохраняются данные игры.&lt;br /&gt;
*'''флаг старых сейвов''' - (old_records) Место в опциях, куда пишем флаг 1 , когда считали и отправили сейвы со старого бабл шутера&lt;br /&gt;
&lt;br /&gt;
'''Merge'''&lt;br /&gt;
*'''макс. уровень (max_level)''' - место в опциях, где лежит макс. уровень.&lt;br /&gt;
*'''сага тэг (saga_tag)''' - место в опциях, где лежит вся информация по саге.&lt;br /&gt;
*'''классика очки (classic_score)''' - место в опциях, где лежат очки по классике.&lt;br /&gt;
*'''классика тэг (classic_tag)''' - место в опциях, где лежит вся информация по классике.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Графика=&lt;br /&gt;
*'''цветной шарик 1 (res1)''' - графический ресурс шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (res1Frame)''' - Номер фрейма ресурса шарика 1.&lt;br /&gt;
*'''цветной шарик 2 (res2)''' - графический ресурс шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (res2Frame)''' - Номер фрейма ресурса шарика 2.&lt;br /&gt;
*'''цветной шарик 3 (res3)''' - графический ресурс шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (res3Frame)''' - Номер фрейма ресурса шарика 3.&lt;br /&gt;
*'''цветной шарик 4 (res4)''' - графический ресурс шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (res4Frame)''' - Номер фрейма ресурса шарика 4.&lt;br /&gt;
*'''цветной шарик 5 (res5)''' - графический ресурс шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (res5Frame)''' - Номер фрейма ресурса шарика 5.&lt;br /&gt;
*'''цветной шарик 6 (res6)''' - графический ресурс шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (res6Frame)''' - Номер фрейма ресурса шарика 6.&lt;br /&gt;
*'''цветной шарик 7 (res7)''' - графический ресурс шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (res7Frame)''' - Номер фрейма ресурса шарика 7.&lt;br /&gt;
*'''цветной шарик 8 (res8)''' - графический ресурс шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (res8Frame)''' - Номер фрейма ресурса шарика 8.&lt;br /&gt;
*'''цветной шарик Y (resY)''' - графический ресурс цветного шарика.&lt;br /&gt;
*'''гвоздь (resZ)''' - графический ресурс гвоздя.&lt;br /&gt;
*'''целевой шарик 1 (rest1)''' - графический ресурс целевого шарика 1.&lt;br /&gt;
*'''фрейм шарика 1 (rest1Frame)''' - Номер фрейма ресурса целевого шарика 1.&lt;br /&gt;
*'''целевой шарик 2 (rest2)''' - графический ресурс целевого шарика 2.&lt;br /&gt;
*'''фрейм шарика 2 (rest2Frame)''' - Номер фрейма ресурса целевого шарика 2.&lt;br /&gt;
*'''целевой шарик 3 (rest3)''' - графический ресурс целевого шарика 3&lt;br /&gt;
*'''фрейм шарика 3 (rest3Frame)''' - Номер фрейма ресурса целевого шарика 3.&lt;br /&gt;
*'''целевой шарик 4 (rest4)''' - графический ресурс целевого шарика 4.&lt;br /&gt;
*'''фрейм шарика 4 (rest4Frame)''' - Номер фрейма ресурса целевого шарика 4.&lt;br /&gt;
*'''целевой шарик 5 (rest5)''' - графический ресурс целевого шарика 5.&lt;br /&gt;
*'''фрейм шарика 5 (rest5Frame)''' - Номер фрейма ресурса целевого шарика 5.&lt;br /&gt;
*'''целевой шарик 6 (rest6)''' - графический ресурс целевого шарика 6.&lt;br /&gt;
*'''фрейм шарика 6 (rest6Frame)''' - Номер фрейма ресурса целевого шарика 6.&lt;br /&gt;
*'''целевой шарик 7 (rest7)''' - графический ресурс целевого шарика 7.&lt;br /&gt;
*'''фрейм шарика 7 (rest7Frame)''' - Номер фрейма ресурса целевого шарика 7.&lt;br /&gt;
*'''целевой шарик 8 (rest8)''' - графический ресурс целевого шарика 8.&lt;br /&gt;
*'''фрейм шарика 8 (rest8Frame)''' - Номер фрейма ресурса целевого шарика 8.&lt;br /&gt;
*'''целевой шарик Y (restY)''' - графический ресурс целевого цветного шарика.&lt;br /&gt;
*'''маска залочки (res_lock_mask)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''падающий шарик (res_drop_mask)''' - графический ресурс падающего шарика.&lt;br /&gt;
*'''лунка (resf1)''' - графический ресурс лунки.&lt;br /&gt;
*'''фрейм лунка (resf1Frame)''' - Номер фрейма ресурса лунки.&lt;br /&gt;
*'''колючка (resf2)''' - графический ресурс колючки.&lt;br /&gt;
*'''фрейм колючка (resf2Frame)''' - Номер фрейма ресурса колючки.&lt;br /&gt;
*'''снежинка (resf3)''' - графический ресурс снежинки.&lt;br /&gt;
*'''фрейм снежинка (resf3Frame)''' - Номер фрейма ресурса снежинки.&lt;br /&gt;
*'''вредитель (resf4)''' - графический ресурс вредителя.&lt;br /&gt;
*'''фрейм вредитель (resf4Frame)''' - Номер фрейма ресурса вредителя.&lt;br /&gt;
*'''половинки (resf5)''' - графический ресурс половинок.&lt;br /&gt;
*'''фрейм половинки (resf5Frame)''' - Номер фрейма ресурса половинок.&lt;br /&gt;
*'''камень (resf6)''' - графический ресурс камня.&lt;br /&gt;
*'''фрейм камень (resf6Frame)''' - Номер фрейма ресурса камня.&lt;br /&gt;
*'''хищник (resf8)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''фрейм хищник (resf8Frame)''' - графический ресурс маски залочки.&lt;br /&gt;
*'''призрак (resf9)''' - графический ресурс призрака.&lt;br /&gt;
*'''фрейм призрак (resf9Frame)''' - Номер фрейма ресурса призрака.&lt;br /&gt;
*'''шестеренка (resf10)''' - графический ресурс шетеренки.&lt;br /&gt;
*'''фрейм шестеренка (resf10Frame)''' - Номер фрейма ресурса шестеренки.&lt;br /&gt;
*'''туман (resf11)''' - графический ресурс тумана.&lt;br /&gt;
*'''фрейм туман (resf11Frame)''' - Номер фрейма ресурса тумана.&lt;br /&gt;
*'''портал (resf12)''' - графический ресурс портала.&lt;br /&gt;
*'''фрейм портал (resf12Frame)''' - Номер фрейма ресурса портала.&lt;br /&gt;
*'''призрак-цель (resf13)''' - графический ресурс призрак-цель.&lt;br /&gt;
*'''фрейм призрак-цель (resf13Frame)''' - Номер фрейма ресурса призрак-цель.&lt;br /&gt;
*'''огонь (resf14)''' - графический ресурс огня.&lt;br /&gt;
*'''фрейм огонь (resf14Frame)''' - Номер фрейма ресурса огонь.&lt;br /&gt;
*'''молния (resf15)''' - графический ресурс молнии.&lt;br /&gt;
*'''фрейм молния (resf15Frame)''' - Номер фрейма ресурса молния.&lt;br /&gt;
*'''радужный шар (resrainbow)''' - графический ресурс радужного шара.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Звуки=&lt;br /&gt;
*'''shot''' - Звук выстрела.&lt;br /&gt;
*'''fail''' - Звук промаха.&lt;br /&gt;
*'''explosion''' - Звук взрыва шариков.&lt;br /&gt;
*'''drop''' - Звук осыпания.&lt;br /&gt;
*'''intro''' - Звук в начале игры.&lt;br /&gt;
*'''add row''' - Звук добавления ряда.&lt;br /&gt;
*'''game over''' - Звук окончания игры.&lt;br /&gt;
*'''bomb mine''' - Звук выстрела бомбы &amp;quot;мина&amp;quot;.&lt;br /&gt;
*'''bomb bullet''' - Звук выстрела бомбы &amp;quot;ядро&amp;quot;.&lt;br /&gt;
*'''bomb color''' - Звук выстрела бомбы &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;
*'''Таяние снежинки''' - Звук таяния снежинки.&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;
*'''Второй шарик''' - машина, отображающая второй шарик.&lt;br /&gt;
*'''Третий шарик''' - машина, отображающая третий шарик.&lt;br /&gt;
&lt;br /&gt;
'''Машины могут иметь состояния:'''&lt;br /&gt;
*'''shot''' - выстрел.&lt;br /&gt;
*'''shot_over''' - окончание выстрела.&lt;br /&gt;
*'''swap''' - смена шариков.&lt;br /&gt;
*'''swap_over''' - окончание смены шариков.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Прицел=&lt;br /&gt;
*'''res''' - Графический ресурс прицела, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Время''' - Время от нажатия до момента появления прицела.&lt;br /&gt;
*'''Время перед мувом''' - Время от нажатия до момента появления прицела в движении.&lt;br /&gt;
*'''Смещение''' - Расстояние между пальцем и центром прицела.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Курсор=&lt;br /&gt;
*'''res (curres)''' - Графический ресурс курсора, перетаскивается из редактора ресурсов.&lt;br /&gt;
*'''Расстояние между шариками (distance)''' - Расстояние между шариками, от которого зависит их количество.&lt;br /&gt;
*'''Кол-во шариков в последней линии (last_line_count_bubs)''' - количество шариков, которе будет в последней линии курсора.&lt;br /&gt;
*'''Отражения (curlns)''' - максимальное кол-во отражений от стенок.&lt;br /&gt;
*'''Коэффициент (curkoef)''' - коэффициент ds/s, где s - базовое расстояние между шариками, ds - его наращивание.&lt;br /&gt;
*'''минимальный скейл (curminsc)''' - минимальный скейл графики шариков&lt;br /&gt;
*'''максимальный скейл (curmaxsc)''' - максимальный скейл графики шариков&lt;br /&gt;
*'''время скалирования (cursctm)''' - время скалирования шариков&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Слушатели=&lt;br /&gt;
*'''Выстрел''' - объект, которому передаются нижеследующие состояния при выстреле из пушки. Состояния: '''shot''' - выстрел обычным шариком, '''mine''' - выстрел миной, '''color''' - выстрел цветной бомбой, '''bullet''' - выстрел бомбой-ядром.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки=&lt;br /&gt;
[[Файл:02-01-2014 13-40-18.png|250px|thumb|right]]&lt;br /&gt;
*'''Позиция стреляющего шарика (x,y)''' - Позиция стреляющего шарика (x,y)&lt;br /&gt;
*'''Позиция следующего шарика (x,y)''' - Позиция следующего шарика (x,y).&lt;br /&gt;
*'''Позиция 3-го шарика (x,y)''' - Позиция 3-го шарика (x,y).&lt;br /&gt;
*'''третий шарик (n3bub)''' - если 0 - 3-го шарика не будет, 1 - есть третий шарик.&lt;br /&gt;
*'''Коэффициент вероятности цветов''' - коэффициент вероятности цветов.&lt;br /&gt;
*'''Расстояние от следующего шарика''' - расстояние от следующего шарика.&lt;br /&gt;
*'''Скорость наезда для режима Bubblez''' - скорость наезда для режима Bubblez.&lt;br /&gt;
*'''Смещение''' - Смешение поля относительно начала координат родителя.&lt;br /&gt;
*'''Скейл шариков для снукера''' - скейл шариков для снукера.&lt;br /&gt;
*'''Радиус шариков''' - Радиус шариков.&lt;br /&gt;
*'''Мин.радиус шариков''' - Мин.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Макс.радиус шариков''' - Макс.размер шариков во время &amp;quot;взрыва&amp;quot;.&lt;br /&gt;
*'''Ширина шариков''' - Ширина шариков на поле. Вычисляется по формуле (2R+2).&lt;br /&gt;
*'''Высота шариков''' - Высота шариков на поле. Вычисляется по формуле (2R-2).&lt;br /&gt;
*'''убирать выбитый цвет из пушки''' - (fbub1) Убирать выбитый цвет из пушки (нет=0, да=1).&lt;br /&gt;
*'''Уровень''' - Уровень игры: новичок, любитель, эксперт, мастер, кастомный (настройки уровня сложности зависят от параметров заданных в добавляемом поле &amp;quot;уровень сложности&amp;quot;)&lt;br /&gt;
*'''Вид игры''' - Режим игры: аркада, стратегия. Режим Аркада был создан для моды &amp;quot;битва&amp;quot;, в котором предусматривалось добавление доп.рядов через определенное время бездействия игрока.&lt;br /&gt;
[[Файл:02-01-2014 10-04-52.png|250px|thumb|right]]&lt;br /&gt;
*'''Начальные шаги до наезда''' - Количество шагов через которое поле &amp;quot;накажет&amp;quot; игрока дополнительными рядами.&lt;br /&gt;
*'''Промежутки добавления рядов''' - Время через которое будут добавляться следующий ряд (в режиме Аркада).&lt;br /&gt;
*'''Добавление рядов''' - Разрешить добавление рядов. Иначе только извне. Целесообразно использовать в снукере.&lt;br /&gt;
*'''Color mapping''' - Color mapping включён (0 - нет, 1 - да).&lt;br /&gt;
*'''Тип рандома''' - Тип рандома. Простой - берём случайный из всех цветов, Супер Рандом - супер алгоритм, Из набора - формируем набор из n шариков и перемешиваем.&lt;br /&gt;
*'''Количество цвета для набора''' - количество цвета для формирования набора в рандоме (касается типа рандома &amp;quot;Из набора&amp;quot;).&lt;br /&gt;
*'''Файл-описание уровня''' - Файл формата .xml в котором будет построены уровни для игры. Пример приведен справа.&lt;br /&gt;
*'''Номер уровня в файле''' - Стартовый уровень, с которого будет начинаться игра.&lt;br /&gt;
*'''Файл трекинга''' - Файл трекинга формата .xml.&lt;br /&gt;
*'''Таблица трекинга''' - Таблица трекинга.&lt;br /&gt;
*'''Объект новых шариков''' - Объект, которому сообщается о новых шариках.&lt;br /&gt;
*'''Мувер''' - Объект, двигающий баббл шутер.&lt;br /&gt;
*'''Задержка перед броском''' - задержка перед броском.&lt;br /&gt;
*'''Задержка перед обрывом шариков''' - задержка перед обрывом шариков.&lt;br /&gt;
*'''К-во секторов для броска''' - Количество секторов для броска.&lt;br /&gt;
*'''Слушатель движения мыши''' - объект, слушатель движения мыши.&lt;br /&gt;
*'''Слушатель броска''' - объект, слушатель броска. По сути вызывается только состояние st1.&lt;br /&gt;
*'''Слушатель движения поля''' - объект, слушатель движения поля. Должен иметь состояния move (поле двигается) и move_over (окончание движения поля).&lt;br /&gt;
*'''собирать статистику''' - (collec_stat) Включить сбор статистики (нет=0, да=1).&lt;br /&gt;
*'''Феерверк после победы''' - Включить феерверк из шариков сразу после победы (0 - нет, 1 - да).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Параметры бомб=&lt;br /&gt;
===Мина===&lt;br /&gt;
[[Файл:02-01-2014 13-37-11.png|250px|thumb|right]]&lt;br /&gt;
*'''res''' - Графический ресурс мины в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс мины в полете.&lt;br /&gt;
*'''подложка''' - (bomb1bg) Графический ресурс для подложки бомбы (взрыв по радиусу).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Радиус''' - Радиус взрыва данной бомбы&lt;br /&gt;
*'''Эффект''' - Эффект на месте взрыва бомбы. Объект должен иметь состояние beg.&lt;br /&gt;
&lt;br /&gt;
===Цвет===&lt;br /&gt;
*'''res''' - Графический ресурс бомбы-цвет в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс бомбы-цвет в полете.&lt;br /&gt;
*'''подложка''' - (bomb2bg) Графический ресурс для подложки бомбы 2 (взрыв шариков одного цвета).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
&lt;br /&gt;
===Ядро===&lt;br /&gt;
*'''res''' - Графический ресурс ядра в пушке.&lt;br /&gt;
*'''res1''' - Графический ресурс ядра в полете.&lt;br /&gt;
*'''подложка''' - (bomb3bg) Графический ресурс для подложки бомбы 3 (летит и взрывает все вокруг себя).&lt;br /&gt;
*'''Вероятность''' - Вероятность появления данной бомбы.&lt;br /&gt;
*'''Скип''' - Количество пропущенных первых шагов для появления бомбы (не реализовано).&lt;br /&gt;
*'''Количество''' - Количество появления бомбы за одну игровую сессию.&lt;br /&gt;
*'''Шаги''' - Количество шагов до появления данной бомбы.&lt;br /&gt;
*'''Шаги ok''' -  Количество удачных шагов до появления бомбы.&lt;br /&gt;
*'''Шаги miss''' - Количество неудачных шагов до появления бомбы.&lt;br /&gt;
*'''n1''' - Минимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''n2''' - Максимальное количество шариков взорванных за ход необходимое для появления данной бомбы.&lt;br /&gt;
*'''Флайер''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Флайер 2''' - Флайер летящий под бомбочкой.&lt;br /&gt;
*'''Скорость''' - Скорость перемещения бомбочки.&lt;br /&gt;
*'''Число отскоков''' - Число отскоков от стен для бомбочки.&lt;br /&gt;
&lt;br /&gt;
=Очковая система=&lt;br /&gt;
*'''Тип''' - ''classic'', ''lostnumbers'', ''nightopera''&lt;br /&gt;
*'''коеф для матча''' - (match_coef) коэффициент очков для матча.&lt;br /&gt;
*'''коеф для обвала''' - (drop_coef) коэффициент очков для обвала.&lt;br /&gt;
*'''Визуализатор шагов''' - счетчик, прогресс, которые отображает оставшееся количество шагов до &amp;quot;наезда&amp;quot;.&lt;br /&gt;
*'''Визуализатор последних очков''' - счетчик, таймер, прогресс последних очков.&lt;br /&gt;
*'''Аниматор последних очков''' - машина со счетчиком (подобъектом), которая запускается в месте попадания шарика. Должна иметь состояние ''show''.&lt;br /&gt;
*'''Тип подсчета''' - очки могут считаться как: 1) количество сматченных шариков * на kBub; 2) сумма порядковых номеров (сматчили 4 шарика -&amp;gt; очки = 1+2+3+4)&lt;br /&gt;
*'''kBub''' - коэффициент за сматченные шарики.&lt;br /&gt;
*'''kCmb''' - коэффициент за комбо.&lt;br /&gt;
*'''kMov''' - коэффициент за оставшиеся ходы.&lt;br /&gt;
*'''kTim''' - коэффициент за оставшиеся секунды.&lt;br /&gt;
*'''kPst''' - коэффициент за удаленные с поля вредители.&lt;br /&gt;
*'''kSnw''' - коэффициент за удаленные с поля снежинки.&lt;br /&gt;
&lt;br /&gt;
= Состояния =&lt;br /&gt;
*'''pause''' -  перевести объект в паузу;   &lt;br /&gt;
*'''resume''' -  вытащить объект из паузы;&lt;br /&gt;
*'''hint''' - выполнить хинт ( нужно в поле hntt указать номер хинта);&lt;br /&gt;
*'''gover''' - &lt;br /&gt;
*'''game_continue''' -  продолжить игру (например, в случае, когда мы проиграли, но даем игроку шанс, убрав несколько нижних линий);&lt;br /&gt;
*'''game_lose''' -  задекларировать проигрыш (например, когда мы проиграли, и игрок отказался от шанса продолжить игру);&lt;br /&gt;
*'''cur_on''' - отображать траекторию при прицеливании;&lt;br /&gt;
*'''cur_off''' - убрать траекторию при прицеливании;&lt;br /&gt;
*'''fbubswap''' -  поменять местами шарики в пушке;&lt;br /&gt;
*'''del_bottom''' - удалить несколько (задается параметром) нижних рядов;&lt;br /&gt;
*'''effdigsc2''' - &lt;br /&gt;
*'''update_params''' - обновить параметры объекта(пока только номер фрейма клипа шариков);&lt;br /&gt;
*'''reset_game''' - сбросит игру , которая сохранена в опциях;&lt;br /&gt;
*'''send_stat''' - отправить статистику.&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;
*'''Номер цвета''' - Номер цвета, который будет соответствовать значению цвета в файле-уровня.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Ресурсы функциональных шариков===&lt;br /&gt;
[[Файл:03-02-2014 10-35-45.png|200px|thumb|right]]&lt;br /&gt;
*'''Функционал''' - Записываем значение чудо-шарика из файла-настроек.&lt;br /&gt;
*'''Клип''' - Графический ресурс шариков, обладающих данным функционалом.&lt;br /&gt;
*'''Звук''' - Звук шарика, обладающего данным функционалом.&lt;br /&gt;
*'''Эффект''' - Машина/Патикл обладающие состоянием beg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика лунка===&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика снежинка===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Параметры анимации для шарика вредитель===&lt;br /&gt;
*'''Время жизни''' - время жизни эффекта.&lt;br /&gt;
*'''Время ожидания скина''' - время, пока поменяется скин шарика.&lt;br /&gt;
*'''Эффект''' - эффект, возникающий в момент обрастания вредителя снежинками.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Физика===&lt;br /&gt;
[[Файл:02-01-2014 13-57-15.png|250px|thumb|right]]&lt;br /&gt;
*'''Справа находится пример настроек физики для шариков радиусом 24.'''&lt;br /&gt;
*'''Move''' - Коэффициент отталкивания летящего шарика.&lt;br /&gt;
*'''MinDest2''' - Квадрат минимального расстояния, когда шарик считается в покое.&lt;br /&gt;
*'''MinVel2''' - Квадрат минимальной скорости, когда шарик считается в покое.&lt;br /&gt;
*'''Down''' - Трение.&lt;br /&gt;
*'''MaxVel''' - Максимальная скорость колебаний.&lt;br /&gt;
*'''Elast''' - Эластичность с-мы (коэффициент для сил действующих между соседними шариками).&lt;br /&gt;
*'''Glue''' - Коэффициент притяжения шарика к центру ячейки.&lt;br /&gt;
*'''MoveC''' - Радиус действия летящего шарика в ячейках.&lt;br /&gt;
*'''BangVel''' - Приращение для скорости взрыва.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта бомба===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
*'''радиус''' - (r) Радиус действия бомбочки (взрывает шарики в пределах этого радиуса).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] параметры хинта  бомба удаляющая цвет к которому коснулась при выстреле===&lt;br /&gt;
*'''res''' - (res) Графический ресурс для бомбочки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] кастомные параметры поля===&lt;br /&gt;
*'''кол-во цветов''' - (colors) Количество цветов.&lt;br /&gt;
*'''заполненные строки''' - (lines) Количество заполненных строк.&lt;br /&gt;
*'''шаги до наезда''' - (steps) Количество шагов до наезда.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Уровень сложности===&lt;br /&gt;
''Название параметров говорит само за себя. Создавать их можно бесконечное множество, главное не забывать назначать им порядковые номера в поле &amp;quot;уровень&amp;quot; по мере добавления новых уровней. Количество уровней сложности внутри объекта должно соответствовать количеству уровней сложности у необходимого Вам монстра. Количество цветов заданное в файле-настройках .xml имеет приоритет над теми, что мы задаем в объекте.''&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;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Визуализатор общих очков===&lt;br /&gt;
*'''Объект''' - счетчик, прогресс, показывающий сумму очков за уровень.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при выигрыше.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра выиграна: изменить параметр объекта===&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;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Игра проиграна: изменить параметр объекта===&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;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба цвет: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба ядро: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]]хинт бомба ядро: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] хинт бомба мина: неуспех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': успех: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] хинт 'поменять шары местами': неудача: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
===[[Файл:+.png]] выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''объект''' - Объект, состояние которого нужно изменить.&lt;br /&gt;
*'''состояние''' - Новое состояние объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Файл:+.png]] Выбили цвет: изменить состояние объекта===&lt;br /&gt;
*'''Объект''' - объект, состояние которого меняем при удалении цвета с поля. При этом BSh передает указанному объекту параметр ''param_removed_colors'' со значением количества выбитых цветов за данный ход.&lt;br /&gt;
*'''Состояние''' - новое состояние объекта.&lt;br /&gt;
&lt;br /&gt;
=Хинты=&lt;br /&gt;
*'''Замена шарика''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние hint.&lt;br /&gt;
*'''Удаление цвета''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=5, после чего передать состояние hint.&lt;br /&gt;
*'''Ядро''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=3, после чего передать состояние hint.&lt;br /&gt;
*'''Мина''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=1, после чего передать состояние hint.&lt;br /&gt;
*'''Курсор''' - Для того, чтоб вызвать этот хинт необходимо сделать следующие манипуляции: Вызвать объекту BubbleShooter параметр hntt=0, после чего передать состояние cur_on. После выстрела курсор исчезает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Пример проекта=&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble_snooker_graphprogress.zip&lt;br /&gt;
&lt;br /&gt;
S:\!MOBILE\!!!EditorGames\Wiki_sample\bubble.rar&lt;br /&gt;
&lt;br /&gt;
=Пример реализации: задание уровня=&lt;br /&gt;
&lt;br /&gt;
::'''1)''' Если нам необходимо задать уровень шутеру прямиком из экрана где он находиться, и при этом он уже запустился (прорисовалась графика). То с начало мы должны передать ему состояние end, после чего задать необходимый уровень и переинитить сцену на которой он находиться (желательно чтобы на этой сцене был только шутер):&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bubble change level.png|centre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::'''2)''' Если же, мы задаем нужный уровень удалённо ( с другого экрана), то мы расшариваем экран с самим шутером на сцену где будем задавать ему новый уровень. И на том экране (удалённом) задаём шутеру нужный уровень (levelNum). &lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanic]]&lt;/div&gt;</summary>
		<author><name>Akovinenko</name></author>
		
	</entry>
</feed>