<?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=Vpanko</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=Vpanko"/>
	<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/Vpanko"/>
	<updated>2026-10-17T02:12:27Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9912</id>
		<title>HiddenHint</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9912"/>
		<updated>2020-01-21T15:38:27Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Основные параметры */&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'') - Тип анимирования сцены (''0 - скалирование; 1 - фокусировка'');&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;
*'''лететь из объекта''' (''fromObject'') - если указан объект, хинт будет стартовать из координаты объекта;&lt;br /&gt;
*'''spline key''' (''key'') - если указано, хвост и указатели будут лететь по сплайну, который пересчитается под координаты стартовой точки и координаты HO объекта (к которому летим);&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;
&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>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9911</id>
		<title>HiddenHint</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=HiddenHint&amp;diff=9911"/>
		<updated>2020-01-21T15:37:46Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Основные параметры */&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;
        '''0''' - скалирование;&lt;br /&gt;
        '''1''' - фокусировка;&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;
*'''лететь из объекта''' (''fromObject'') - если указан объект, хинт будет стартовать из координаты объекта;&lt;br /&gt;
*'''spline key''' (''key'') - если указано, хвост и указатели будут лететь по сплайну, который пересчитается под координаты стартовой точки и координаты HO объекта (к которому летим);&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;
&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>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9908</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9908"/>
		<updated>2019-12-20T10:22:45Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ПРОГРЕСС И ОКНО ВЫВОДА */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 добавляем новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС И ОКНО ВЫВОДА==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая необходимые действия в игре, например комбо. &lt;br /&gt;
Настройки для '''прогресса''' : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для '''hiddenList''':&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''' и создаем в ней объект c типом machine ''win'', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle &amp;quot;black&amp;quot; и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''star1''' &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''star2''' &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''star3''' &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — '''win'''&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина '''win''' считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку ''close'' (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1010.png&amp;diff=9907</id>
		<title>Файл:1010.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1010.png&amp;diff=9907"/>
		<updated>2019-12-20T10:21:18Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:1010.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9906</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9906"/>
		<updated>2019-12-20T10:19:58Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ПРОГРЕСС */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 добавляем новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС И ОКНО ВЫВОДА==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая необходимые действия в игре, например комбо. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''' и создаем в ней объект c типом machine ''win'', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle &amp;quot;black&amp;quot; и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина '''win''' считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку ''close'' (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9905</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9905"/>
		<updated>2019-12-20T10:17:37Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ПРОГРЕСС */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 добавляем новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая какие-то действия в игре, например комбо. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''' и создаем в ней объект c типом machine ''win'', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle &amp;quot;black&amp;quot; и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина '''win''' считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку ''close'' (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:07_11.png&amp;diff=9904</id>
		<title>Файл:07 11.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:07_11.png&amp;diff=9904"/>
		<updated>2019-12-20T10:15:26Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:07 11.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9903</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9903"/>
		<updated>2019-12-20T10:11:12Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Создание экрана и сцены в игровом проекте */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 добавляем новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая какие-то действия в игре, например комбо. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle &amp;quot;black&amp;quot; и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина '''win''' считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку ''close'' (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9902</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9902"/>
		<updated>2019-12-20T10:10:25Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ПРОГРЕСС */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая какие-то действия в игре, например комбо. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle &amp;quot;black&amp;quot; и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина '''win''' считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку ''close'' (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Example.jpg&amp;diff=9901</id>
		<title>Файл:Example.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Example.jpg&amp;diff=9901"/>
		<updated>2019-12-20T10:08:22Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:Example.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9900</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9900"/>
		<updated>2019-12-20T10:05:45Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ПРОГРЕСС */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая какие-то действия в игре, например комбо. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Example.jpg&amp;diff=9899</id>
		<title>Файл:Example.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Example.jpg&amp;diff=9899"/>
		<updated>2019-12-20T10:05:06Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:Example.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9898</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9898"/>
		<updated>2019-12-20T10:03:37Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ПРОГРЕСС */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая какие-то действия в игре, например комбо. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену '''w''', на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!), устанавливаем параметр фон и alpha на свое усмотрение.&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект: после того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9897</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9897"/>
		<updated>2019-12-20T09:33:20Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ПРОГРЕСС */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую или совершая какие-то действия в игре, например комбо. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) (подобъектe '''black''' изменяем тип на rectangle, более подробно о нем дальше):&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]]&lt;br /&gt;
&lt;br /&gt;
Машина ''win_lose'' помогает определить победителя и вызывает соответствующее окно ''win'' после победы или поражения. &lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 - количество быстро найденных объектов, нужное для получения звезды Combo. Combo time = 3000 - интервал между кликами, считающимися быстрыми. Combo accuracy = 0,85 - точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные). Лимит ложных кликов = 5 - количество неверных кликов. Формула расчета его: количество верных кликов делим на общее количество получаем коэффициент, если он равен или больше указного нами, то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем новую сцену 7_4, на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков. Окно&lt;br /&gt;
должно открываться по окончанию игры и при выигрыше показывать набранные очки и надпись об удаче, при проигрыше - нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9896</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9896"/>
		<updated>2019-12-20T09:31:47Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Упражнение № 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену 7_3 в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1010.png&amp;diff=9895</id>
		<title>Файл:1010.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1010.png&amp;diff=9895"/>
		<updated>2019-12-20T09:24:31Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:1010.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9894</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9894"/>
		<updated>2019-12-20T09:05:12Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ТАЙМЕР */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9893</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9893"/>
		<updated>2019-12-20T09:04:33Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ТАЙМЕР */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки в HiddenObjectList , т.к. если мы их не укажем, то отсчет времени просто не начнется. Время таймера и время указанное в HiddenObjectList должны совпадать, иначе отсчет времени будет идти от меньшего времени (c 0) вне зависимости указано оно в HiddenObjectList или в таймере.&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9892</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9892"/>
		<updated>2019-12-20T09:01:05Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* ТАЙМЕР */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие или делаем его обычным шрифтом, редактируя в свойствах параметр '''шрифт'''. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:444.png&amp;diff=9891</id>
		<title>Файл:444.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:444.png&amp;diff=9891"/>
		<updated>2019-12-20T09:00:03Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:444.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9890</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9890"/>
		<updated>2019-12-20T08:51:33Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* СЧЕТЧИК */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель уже указан в настройках. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:243.png&amp;diff=9889</id>
		<title>Файл:243.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:243.png&amp;diff=9889"/>
		<updated>2019-12-20T08:50:28Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:243.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9888</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9888"/>
		<updated>2019-12-20T08:43:16Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Упражнение № 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого создаем еще одну сцену в первом экране с объектами, которые сделают игру полноценной: первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) активируется во время комбо.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор и прогресс в свойствах HiddenList ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1.png&amp;diff=9887</id>
		<title>Файл:1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1.png&amp;diff=9887"/>
		<updated>2019-12-20T08:41:23Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:1.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9886</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9886"/>
		<updated>2019-12-20T08:27:59Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Детальная настройка объектов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HiddenList (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''3. Настройка Table'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]] &lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
'''4. Параметры, общие для всех спрятанных объектов:'''&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]), машиной-комбо3 ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) отображает уровень прохождения игры.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор, машину-комбо3 и прогресс в хиденлисте «HL_01» ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Table_lesson7.png&amp;diff=9885</id>
		<title>Файл:Table lesson7.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Table_lesson7.png&amp;diff=9885"/>
		<updated>2019-12-20T08:27:42Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: Vpanko загрузил новую версию Файл:Table lesson7.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9884</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9884"/>
		<updated>2019-12-20T08:13:41Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Общая настройка объектов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменяем тип с image на [[HiddenObject]]: выделяем первый и последний элементы, удерживая кнопку Shift, в окне Property выбраем соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создаем новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект и меняем его тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HOL (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Описание Table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]]&lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
6. Параметры, общие для всех спрятанных объектов:&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]), машиной-комбо3 ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) отображает уровень прохождения игры.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор, машину-комбо3 и прогресс в хиденлисте «HL_01» ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9883</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9883"/>
		<updated>2019-12-20T08:11:50Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Общая настройка объектов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменить тип с image на [[HiddenObject]]. Выделяем первый и последний элементы, удерживая кнопку Shift, и в окне Property выбрать соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект на второй сцене и меняем тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HOL (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Описание Table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]]&lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
6. Параметры, общие для всех спрятанных объектов:&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]), машиной-комбо3 ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) отображает уровень прохождения игры.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор, машину-комбо3 и прогресс в хиденлисте «HL_01» ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9882</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9882"/>
		<updated>2019-12-20T08:11:19Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Создание экрана и сцены в игровом проекте */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменить тип с image на [[HiddenObject]]. Это мы можем сделать выделив первый и последний элементы, удерживая кнопку Shift, и в окне Property выбрать соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект на второй сцене и меняем тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HOL (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Описание Table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]]&lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
6. Параметры, общие для всех спрятанных объектов:&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]), машиной-комбо3 ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) отображает уровень прохождения игры.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор, машину-комбо3 и прогресс в хиденлисте «HL_01» ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9881</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9881"/>
		<updated>2019-12-20T08:10:58Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Создание экрана и сцены в игровом проекте */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* 7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменить тип с image на [[HiddenObject]]. Это мы можем сделать выделив первый и последний элементы, удерживая кнопку Shift, и в окне Property выбрать соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект на второй сцене и меняем тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HOL (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Описание Table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]]&lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
6. Параметры, общие для всех спрятанных объектов:&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]), машиной-комбо3 ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) отображает уровень прохождения игры.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор, машину-комбо3 и прогресс в хиденлисте «HL_01» ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9880</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9880"/>
		<updated>2019-12-20T08:10:24Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Общая настройка объектов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменить тип с image на [[HiddenObject]]. Это мы можем сделать выделив первый и последний элементы, удерживая кнопку Shift, и в окне Property выбрать соответствующий параметр.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену, которую называем 7_1 и добавляем на нее специальные объекты [[Table]] и [[HiddenList]]. Для этого переносим графическое изображение table и изменяем его тип с image на Table. Название объекта изменить на table**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList создаем  новый объект на второй сцене и меняем тип с image на HiddenList. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HiddenList**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HOL (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Описание Table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]]&lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
6. Параметры, общие для всех спрятанных объектов:&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]), машиной-комбо3 ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) отображает уровень прохождения игры.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор, машину-комбо3 и прогресс в хиденлисте «HL_01» ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9879</id>
		<title>Создание игры «Hidden Object Game»</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%C2%ABHidden_Object_Game%C2%BB&amp;diff=9879"/>
		<updated>2019-12-20T08:03:28Z</updated>

		<summary type="html">&lt;p&gt;Vpanko: /* Создание экрана и сцены в игровом проекте */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' Изучить настройки объектов [[HiddenList]], [[HiddenObject]] и  [[Table]] для типа механики Hidden Object Game на базе создания уровня из игры Travel.&lt;br /&gt;
 &lt;br /&gt;
'''Задача:''' Создать уровень игры содержащей 10 поисковых объектов расположенных на одном бэкграунде (фоне). При инициализации сцены обеспечить размещение 5 объектов для поиска. &lt;br /&gt;
&lt;br /&gt;
== Создание экрана и сцены в игровом проекте ==&lt;br /&gt;
&lt;br /&gt;
Откроем проект lessons. Создадим экран Lesson_7. [[Файл:Lesson7_textbase.png|right]]&lt;br /&gt;
В экране Lesson_7 создадим новую сцену* stg_7 с разрешением 960*640 (по умолчанию), в которую (через ResourcesEditor) добавим графические ресурсы из папки Lesson_7. (см. подготовка к работе [[Создание проекта]])&lt;br /&gt;
&lt;br /&gt;
* Графические объекты должны разместиться точно на местах предназначенных для их «Прятанья». Перетягиваем сначала '''bg''', потом остальные объекты с папки ''hiddenObj''.&lt;br /&gt;
&lt;br /&gt;
Создадим папку Lesson_7  в базе текстовых описаний с помощью TextEditor.  Добавим в неё 10 текстовых записей, соответствующих именам поисковых объектов. Заполним для каждой текстовой записи 2 значения, один из которых называет сам предмет, а второе - является его синонимом или ассоцией, которая укажет на него ([[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Word]], [[Интерфейс TextEditor#Создание и заполнение текстовой базы проекта | Sentence-En]]), добавим графическое отображение поискового объекта. Сделать это можно вручную, перетащив картинку соответствующего объекта из редактора ресурсов и, по нажатию на картинке правой кнопкой мыши, выберем тип &amp;quot;icon1&amp;quot;. Или же более быстрым [[Интерфейс TextEditor#Добавление иконок в текстовый элемент | способом]].&lt;br /&gt;
&lt;br /&gt;
== Общая настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
1. Для всех поисковых графических объектов изменить тип с image на [[HiddenObject]].&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_hidden_obj.png]]&lt;br /&gt;
&lt;br /&gt;
2. Создать специальные объекты [[Table]] и [[HiddenList]]. Для этого необходимо перенести графическое изображение table с последующим изменением типа с image на Table. Название объекта изменить на HOT**&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Для объекта HiddenList перенести любое графическое изображение с последующим изменением типа с image на HiddenList и удалением графического ресурса из поля настроек (res)*. Для данного типа объекта не требуется графический ресурс. Название объекта изменить на HOL**&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson7_HiddenList.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''**''' Имена для специальных объектов могут использоваться любые.&lt;br /&gt;
&lt;br /&gt;
== Детальная настройка объектов ==&lt;br /&gt;
&lt;br /&gt;
'''1. Описание HiddenObject.'''&lt;br /&gt;
&lt;br /&gt;
''HiddenObject'' - это поисковый объект, взаимодействующий со списком HiddenList. Каждому поисковому объекту необходимо указать графический ресурс (картинку), идентификатор объекта HiddenList и идентификатор текстового ресурса (строки описания) в HiddenList.[[Файл:07 7.png|right]]&lt;br /&gt;
&lt;br /&gt;
Необходимо выбрать используемый объект с именем HOL (тип HiddenObjectList) в поле list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''текстID'' – название хидден-объекта, которое будет отображаться в списке. Перетаскивается мышкой из текстового редактора;&lt;br /&gt;
&lt;br /&gt;
''текст'' – обычный текст (будет отображаться в таблице при отсутствии ТекстID, для быстрых экспериментов);&lt;br /&gt;
&lt;br /&gt;
''list'' – ссылка на HiddenList, к которому будет подключен объект, для обеспечения связи между ними;&lt;br /&gt;
&lt;br /&gt;
''flyer'' – объект типа flyer, который запустится в работу при нахождении поискового объекта. Неудачный клик обрабатывает HiddenList. Если параметр не задан, используется fly_ok объекта HiddenList.(objid);&lt;br /&gt;
&lt;br /&gt;
''actor'' – объект, который отображает анимацию спрятанного объекта после удачного клика на него (обычно это машина состояния). Парметр необязателен. Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.&lt;br /&gt;
&lt;br /&gt;
''тип'' – номер типа объекта, используется для логического разделения объектов при обработке HiddenList.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Описание HiddenObjectList.'''&lt;br /&gt;
&lt;br /&gt;
HiddenList - это список поисковых объектов (Hidden), которые надо найти в хидден-сцене. [[Файл:07 8.png|right]] Каждый поисковый объект на сцене связывают со списком. Объектов может быть больше, чем будет показано в данной игровой сессии (поле &amp;quot;объектов&amp;quot;). В этом случае они выбираются случайным образом. Запоминаются те из них, по которым произошёл клик (увеличивается счетчик их кликов). При следующем заходе на сцену, поисковые слова сортируются по возрастанию числа кликов и снова активизируется количество спрятанных объектов, указанных в поле &amp;quot;количество&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
HiddenList определяет основные параметры для настройки HiddenObject (скорость полета и т.п.). В дальнейшем, при необходимости, эти же параметры можно добавить в HiddenObject, чтобы для данного объекта они &amp;quot;перебивали&amp;quot; общие значения для всех.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подготовка спрятанных объектов: &lt;br /&gt;
&lt;br /&gt;
''num'' (поле &amp;quot;объектов&amp;quot;) – максимальное количество объектов, участвующие в поиске. (int)&lt;br /&gt;
&lt;br /&gt;
''hide'' (поле &amp;quot;прятать&amp;quot;) – если 1, то делать невидимыми объекты, не участвующие в поиске. (int) &lt;br /&gt;
&lt;br /&gt;
Визуальные параметры списка: &lt;br /&gt;
&lt;br /&gt;
''table'' (поле &amp;quot;таблица&amp;quot;) – идентификатор объекта Table. (objid)&lt;br /&gt;
&lt;br /&gt;
''kind'' (внешний вид - поле &amp;quot;тип списка&amp;quot;) – тип отображения объекта в списке (0-слово,1-ассоциация, 2-иконка, 3-иконка). (int)&lt;br /&gt;
&lt;br /&gt;
''cross'' (внешний вид - поле &amp;quot;вычеркнуть&amp;quot;) – зачеркивать найденный элемент списка. Eсли 0 (по умолчанию), то найденный элемент удаляется, иначе &amp;quot;зачеркивается&amp;quot;.(int).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Описание Table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Table lesson7.png]]&lt;br /&gt;
&lt;br /&gt;
 Хотелось бы напомнить , что вы можете “поиграться” с вкладкой “таблица”, чтобы настроить внешний вид , вспомогательную область для поиска предметов.&lt;br /&gt;
&lt;br /&gt;
6. Параметры, общие для всех спрятанных объектов:&lt;br /&gt;
&lt;br /&gt;
''die'' –  тип исчезания при удачном клике на объект (если нет актера) (int): &lt;br /&gt;
&lt;br /&gt;
0: просто исчезает;&lt;br /&gt;
&lt;br /&gt;
1: летит к пункту с описанием в списке HiddenList;&lt;br /&gt;
&lt;br /&gt;
2: улетает в случайном направлении;&lt;br /&gt;
&lt;br /&gt;
3: улетает к заданным координатам (fx, fy).&lt;br /&gt;
&lt;br /&gt;
vm - скорость движения при полете к списку предметов после клика в px/sec (float) &lt;br /&gt;
&lt;br /&gt;
vr - скорость вращения при полете к списку предметов после клик в град/sec (float) &lt;br /&gt;
&lt;br /&gt;
fw - финальная ширина к которой надо уменьшится при подлете к финальной точке (int) &lt;br /&gt;
&lt;br /&gt;
fh - финальная высота к которой надо уменьшится при подлете к финальной точке (int). Объект не должен изменять своих пропорций, поэтому fw или fh (или оба) всегда отрицательны. &lt;br /&gt;
&lt;br /&gt;
fx - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int) &lt;br /&gt;
&lt;br /&gt;
fy - финальная координата x, к которой объект должен перелететь, при удачном клике (см. тип исчезания). (int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
        '''Внимание!'''  HiddenList не будет работать без объекта [[Редактор текстовых ресурсов#Упражнения|Options]], который вы должны были создать в предыдущем уроке, а так же без параметра ''id игры'' (Очковая система -&amp;gt; id игры; для теста заполним его любой строкой).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Упражнения ==&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_7, создать новый экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену (с названием stg_7_1).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены stg_7 (экрана Lesson_7).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену stg_7_1.&lt;br /&gt;
&lt;br /&gt;
[[Файл:07 11.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене:&lt;br /&gt;
&lt;br /&gt;
a) добавить еще 3 графических ресурса и перевести в тип HiddenObject;&lt;br /&gt;
&lt;br /&gt;
b) разместить на местах предназначенных для их «Прятанья»;&lt;br /&gt;
&lt;br /&gt;
c) добавить текстовое описание в TextEditor;&lt;br /&gt;
&lt;br /&gt;
e) установить время игры 20 секунд, паузу 2 секунды с переходом на экран Lesson_7_1.&lt;br /&gt;
&lt;br /&gt;
6. Модифицировать экран Lesson_7 в полноценный уровень с выводом количества очков, игрой на время и графикой.&lt;br /&gt;
&lt;br /&gt;
== Упражнение № 6 ==&lt;br /&gt;
Экран lesson_7  необходимо модифицировать  в полноценный уровень.&lt;br /&gt;
&lt;br /&gt;
Для этого первый экран дополняем  2 счетчиками ([[counter]]), таймером ([[timer]]), машиной-блокатором ([[machine]]), машиной-комбо3 ([[machine]]) и прогрессом ([[progress]]). Второй экран с выводом очков составим позже.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1.png]] &lt;br /&gt;
&lt;br /&gt;
Счетчик «amt» ([[counter]]) показывает сколько объектов найдено. Счетчик «score_H» ([[counter]]) насчитывает баллы за собранные объекты. Таймер ([[timer]]) запускается при старте игры и отсчитывает заданное время на игру, машина-блокатор «ban_H» блокирует сцену при серии ошибочных кликов. Прогресс «progr» ([[progress]]) отображает уровень прохождения игры.&lt;br /&gt;
&lt;br /&gt;
Чтобы всё заработало необходимо указать счетчики, таймер, машину-блокатор, машину-комбо3 и прогресс в хиденлисте «HL_01» ([[hiddenList]]).&lt;br /&gt;
&lt;br /&gt;
== СЧЕТЧИК ==&lt;br /&gt;
&lt;br /&gt;
В редакторе ресурсов выбираем анимацию и добавляем графику для счетчика. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!'''  Если в редакторе ресурсов нету анимации, то [[Интерфейс_ResourceEditor#Анимация|создайте]] её -  это просто). Анимация создается с названием папки, в которой хранились картинки, избегайте кириллицы в названии  папок.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ‎[[Файл:Coun (5).png]] ‎[[Файл:Coun (6).png]] [[Файл:Coun (7).png]] [[Файл:Coun (8).png]] ‎[[Файл:Coun (9).png]] [[Файл:Coun_(10).png]] ‎[[Файл:Coun (11).png]] ‎[[Файл:Coun (1).png]] ‎‎[[Файл:Coun (2).png]] ‎[[Файл:Coun (3).png]] ‎[[‎Файл:Coun (4).png]]&lt;br /&gt;
&lt;br /&gt;
Создаем объект сцены с типом «[[counter]]», в поле res перетаскиваем анимацию с цифрами от 0 до 9, разделитель перетаскиваем в отдельную графу без анимации. Настройки для счетчика:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:243.png]] [[Файл:33.png]]&lt;br /&gt;
&lt;br /&gt;
== ТАЙМЕР ==&lt;br /&gt;
&lt;br /&gt;
В свойствах таймера «[[timer]]» необходимо указать «значение» с которого начнется отсчет времени (18000 = 18 сек.). &lt;br /&gt;
В свойство «графика» из графического редактора перетаскиваем анимацию которую делали для счетчика и двоеточие. Настройки для таймера:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:444.png]]&lt;br /&gt;
&lt;br /&gt;
Также стоит обновить настройки , в HiddenObjectList , т.к. если мы его не укажем отсчет времени просто не начнется , и так же нужно помнить чтобы время таймера и время указанное в HiddenObjectList должны совпадать , иначе отсчет будет идти от меньшего времени вне зависимости указано оно в HOL или в таймере&lt;br /&gt;
  [[Файл:HOL_time.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ПРОГРЕСС ==&lt;br /&gt;
&lt;br /&gt;
[[Progress]] используют для отображения каких либо ачивментов, например когда игрок проходит уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. &lt;br /&gt;
Настройки для прогресса : &lt;br /&gt;
&lt;br /&gt;
 [[Файл:555.png]]&lt;br /&gt;
&lt;br /&gt;
Графика для Progress: [[Файл:666.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-Combo3c :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:777.png]]&lt;br /&gt;
&lt;br /&gt;
Во всех HiddenObject добавить свойство &amp;quot;изменить состояние объекта&amp;quot; combo3c [[Файл:1818.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины-блокатора «ban_H» (machine) :&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Ban h na max.png]]&lt;br /&gt;
 [[Файл:9.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для hiddenList:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1010.png]] [[Файл:1011.png]]&lt;br /&gt;
&lt;br /&gt;
Группа - звезды combo num =1 Количество быстро найденных объектов, нужное для получения звезды Combo combo time = 3000 Интервал между кликами, считающимися быстрыми для Combo accuracy = 0,85 Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные) лимит ложных кликов =5 Лимит ложных кликов. Формула расчета  количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для HiddenList и Counter пункт &amp;quot;сохранить в профиль&amp;quot; должен совпадать. Если в HiddenList указано &amp;quot;глобально&amp;quot;, то и в Counter также необходимо установить &amp;quot;глобально&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем вторую сцену на которой формируем окно вывода результатов из ректангла (Rectangle), текстовых объектов и счетчиков, окно&lt;br /&gt;
должно открываться по окончанию игры, при выигрыше показывать набранные очки и надпись об удаче,при проигрыше нулевые очки и надпись о неудаче.&lt;br /&gt;
&lt;br /&gt;
Графика для Rectangle rec: [[Файл:0001.png]] [[Файл:0002.png]] [[Файл:0003.png]] [[Файл:0004.png]] [[Файл:0005.png]] [[Файл:0006.png]] [[Файл:0007.png]] [[Файл:0008.png]] [[Файл:0009.png]] [[Файл:00010.png]]    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[[файл:wrong.png|right|32px]]&lt;br /&gt;
'''Внимание!''' Rectangle black (Цвет задается в свойстве фон-&amp;gt;цвет заливки) используется в качестве фона, на котором будет размещаться всплывающие окно с показаниями результата пройденной игры. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[Файл:1012.png]] [[Файл:0102.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее копируем Rectangle black и делаем подобъектом блокатора ban_H, а также меняем размеры rectangle black (устанавливаем не нулевые!).&lt;br /&gt;
&lt;br /&gt;
Создадим еще 5 счетчиков. Они нам понадобятся в конце игры для выведения бонусного счета.&lt;br /&gt;
&lt;br /&gt;
В свойствах счетчиков необходимо прописать уровень!&lt;br /&gt;
&lt;br /&gt;
1) счетчик 7_4_1 — игровые очки;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_total&lt;br /&gt;
&lt;br /&gt;
2) счетчик 7_4_2 — бонус за время;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_time&lt;br /&gt;
&lt;br /&gt;
3) счетчик 7_4_3 — бонус за аккуратность;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_accuracy&lt;br /&gt;
&lt;br /&gt;
4) счетчик 7_4_4 — бонус за комбо;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.ecmbRowMax&lt;br /&gt;
&lt;br /&gt;
5) счетчик 7_4_5 — очки за уровень;&lt;br /&gt;
&lt;br /&gt;
уровень: last_game.score30_level&lt;br /&gt;
&lt;br /&gt;
Важный аспект:После того как вы добавили last.game.xxx в графу уровень в каждом счетчике , графа игра должна остаться пустой и так же не стоит эти счетчики закидывать в HOL , т.к. одни и те же данные могут конфликтовать между собой. Также обязательным условием является включение графы “очки 3.0” в HOL`e.&lt;br /&gt;
&lt;br /&gt;
После создания счетчиков и установки уровней добавляем 5 текстовых объектов, которые описывают значения, выводящиеся счетчиками в конце игры в окне результатов (игровые очки, бонус за время и т.д.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star1 &lt;br /&gt;
(проверка в опциях параметра last_game.last_star_accuracy0, &lt;br /&gt;
last_game.last_star_time0, )&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0303.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star2 &lt;br /&gt;
(если параметр accuracy=0)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0304.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — star3 &lt;br /&gt;
(если игра пройдена за указанное время)&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0305.png]]&lt;br /&gt;
&lt;br /&gt;
Настройки для машины — win&lt;br /&gt;
&lt;br /&gt;
 [[Файл:0306.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Машина win считывает «read» показания счетчика и запускает star1 если игра пройдена.&lt;br /&gt;
&lt;br /&gt;
Также создаем кнопку close (button), которая должна закрывать окно результатов. Добавляем &amp;quot;изменить состояние объекта&amp;quot;; объект win, состояние close. &lt;br /&gt;
&lt;br /&gt;
Включаем вьювер и наблюдаем как автоматически включается таймер, за каждый собранный предмет вам начисляются очки, прогресс показывает прохождение игры, в конце игры появляется окно с выводом результатов набранных очков с звездами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Редактор текстовых ресурсов|Урок 6]] &amp;lt;&amp;lt; &lt;br /&gt;
 ! width=&amp;quot;20%&amp;quot;|[[Learning|Оглавление]] &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot; align=&amp;quot;right&amp;quot;| &amp;gt;&amp;gt; [[Настройка миниигр|Урок 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Vpanko</name></author>
		
	</entry>
</feed>