<?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=Sbobryashov</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=Sbobryashov"/>
	<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/Sbobryashov"/>
	<updated>2026-10-17T06:05:23Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>https://wiki.appsalutecreator.com/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BC%D0%B8%D0%BD%D0%B8%D0%B8%D0%B3%D1%80&amp;diff=9807</id>
		<title>Настройка миниигр</title>
		<link rel="alternate" type="text/html" href="https://wiki.appsalutecreator.com/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BC%D0%B8%D0%BD%D0%B8%D0%B8%D0%B3%D1%80&amp;diff=9807"/>
		<updated>2019-04-12T11:45:05Z</updated>

		<summary type="html">&lt;p&gt;Sbobryashov: /* Упражнения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Создание игры «Hidden Object Game»|Урок 7]] &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; [[Работа с эффектами|Урок 9]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
'''Цель:''' изучить настройки объектов, реализующих различные минигры.&lt;br /&gt;
&lt;br /&gt;
'''Задачи:''' &lt;br /&gt;
* создать уровень игры с объектом, содержащим тип механики Puzzle&lt;br /&gt;
* создать уровень игры с объектом, содержащим тип механики Patchwork &lt;br /&gt;
&lt;br /&gt;
== Puzzle ==&lt;br /&gt;
&lt;br /&gt;
=== Создание экрана и сцены в игровом проекте ===&lt;br /&gt;
&lt;br /&gt;
1. Запустить SceneEditor.&lt;br /&gt;
&lt;br /&gt;
2. В меню Проект → Загрузить → Learning.seproj. &lt;br /&gt;
&lt;br /&gt;
3. Кликнув правой кнопкой мыши по ранее созданному экрану Lesson_07.1, создать экран Lesson_08.&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 1.png]]&lt;br /&gt;
&lt;br /&gt;
4. В экране Lesson_08 создать новые сцены 08 и Buttons, в которую (через ResourcesEditor) добавить графические ресурсы (Level_01, hint_normal в папку 05 и hint_normal, ico_R_normal2 в папку Buttons) из папки Sources\Lesson_08 (см. подготовка к работе «Создание проекта»).&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 2.png]]  [[Файл:08 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Настройка объектов, создание машин состояний ===&lt;br /&gt;
	&lt;br /&gt;
1. В сцене 08 изменить название графического ресурса hint_normal на applause и в общих настройках элемента удалить саму графику через модификаторы → res.&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 4.png]]&lt;br /&gt;
&lt;br /&gt;
2. Графическое изображение level_01 перевести в тип [[Puzzle|puzzle]] и установить такие настройки:&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 5.png]]&lt;br /&gt;
&lt;br /&gt;
3. Объект applause перевести в тип машина и прописать ему состояния on и off.&lt;br /&gt;
&lt;br /&gt;
4. В состоянии on добавить команду play (проиграть звук) и в списке команды выбрать snd (короткий звук), подгружаемый с помощью ResourcesEditor из папки ресурсов Level_08; &lt;br /&gt;
&lt;br /&gt;
[[Файл:08 6.png]]&lt;br /&gt;
&lt;br /&gt;
5. Создать новое состояние с именем off. В общих настройка свойства элемента изначально установить состояние off.&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 7.png]]  [[Файл:08 8.png]]&lt;br /&gt;
&lt;br /&gt;
6. Далее перейти к сцене Buttons, перевести графические объекты hint_normal, ico_R_normal2 в тип button, в свойстве элемента установить такие настройки:&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 9.png]]  [[Файл:08 10.png]]&lt;br /&gt;
&lt;br /&gt;
''Кнопка R (переиграть)'' — кнопка, запускающая игру Puzzle сначала. В общих настройках свойства элемента устанавливаем, в какое начало должна возвращать кнопка (в нашем случае перейти на экран Lesson_08).Для данной игры, мы сделали переход на экран &amp;lt;tt&amp;gt;Lesson_08&amp;lt;/tt&amp;gt;, который запускает игру сначала. Но в дальнейшем, чтобы не переводить все объекты в начальное состояние  правильнее будет, в графе '''«изменить состояние»''' выбрать объект &amp;lt;tt&amp;gt;Level_01&amp;lt;/tt&amp;gt; и указать ему состояние &amp;lt;tt&amp;gt;mix&amp;lt;/tt&amp;gt;, которое означает, что игра возвращается в состояние перемешивания картинок, а не запускает всю игру заново.&lt;br /&gt;
	&lt;br /&gt;
7. В объекте (кнопке) hint_normal нажать правой кнопкой и выбрать изменить состояние объекта → потом выбрать объект level_01 и вписать состояние hint, которое означает, что при нажатии кнопки, в качестве подсказки, игра покажет картинку в собранном виде.&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 11.png]]  [[Файл:08 12.png]]&lt;br /&gt;
&lt;br /&gt;
''hint'' – кнопка, реализующая подсказку на экране поиска.&lt;br /&gt;
&lt;br /&gt;
8. Вернуться на сцену 08 к объекту  level_01 и в общих настройках свойства элемента изменить состояние объекта → выбрать объект applause и вписать состояние on.&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 13.png]]&lt;br /&gt;
&lt;br /&gt;
9. Проверить выполнение задачи с помощью проигрывателя сцен Viewer.&lt;br /&gt;
&lt;br /&gt;
=== Упражнения ===&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_08, создать новый экран Lesson_08.1&lt;br /&gt;
&lt;br /&gt;
2. Создать новые сцены (с названием 08.1 и Buttons).&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены 08 (экрана Lesson_08) и Buttons (экрана Lesson_08).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену 08.1 и Buttons (экрана Lesson_08.1).&lt;br /&gt;
&lt;br /&gt;
[[Файл:08 15.png]]&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене постарайтесь сами прописать состояния и команды в измененную задачу. Сделайте так, чтобы:&lt;br /&gt;
&lt;br /&gt;
a) заменить звук аплодисментов другим аудиофайлом, имеющимся в базе ресурсов;&lt;br /&gt;
 &lt;br /&gt;
b) в пазле изменить количество разбиваемых частей на шесть (3х2), добавить сетку, изменить перестановку ячеек на смешивание по alpha, изменить время смешивания на 500 миллисекунд;&lt;br /&gt;
 &lt;br /&gt;
c) при нажатии hint (подсказки) изменить время показа подсказки на 2 секунды, изменить время финального показа пазла на 3 секунды, установить время закрытия пазла 500 миллисекунд.&lt;br /&gt;
&lt;br /&gt;
6. Сделать счетчик подсказок, используя объект '''[[Store|Store]]''' создать возможность совершать покупки подсказок за реальные деньги. Использовать для открытия окна покупки подсказки объект '''[[Statesmanager]]'''&lt;br /&gt;
&lt;br /&gt;
Щелкнув правой кнопкой мыши по экрану Lesson_08.1  создадим новый экран '''lessons_8_1_1'''. Добавим в него сцены str_8_1 и Button_8_1. В сцену str_8_1 поместим объекты из экрана  Lesson_08.1: level_01, applause; оставим их без изменения. В сцену  Button_8_1 скопируем из Lesson_08.1 кнопки hint_normal и ico_R_normal2 и создадим новый объект, поменяв ему тип на '''counter''' (счетчик) и названия на '''hint'''. Добавим ресурс из базы ресурсов —  анимацию file1 (brown_big). Счетчик  hint будет считывать купленные подсказки.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint counter na max.png]]&lt;br /&gt;
&lt;br /&gt;
В  hint_normal добавим подобъект, сделаем его машиной и назовем '''hint_m'''.&lt;br /&gt;
&lt;br /&gt;
Щелкнув правой кнопкой мыши на сцену  Button_8_1 создадим новые сцены store и error, которые, соответственно, будут предназначены для совершения покупок — начисления подсказок и окна с ошибкой при невозможности купить подсказку.&lt;br /&gt;
&lt;br /&gt;
В сцену  store добавим две машины:  '''buy''' и '''store'''; в  error - машину  '''error'''.&lt;br /&gt;
&lt;br /&gt;
[[Файл:8 1 1 .PNG]]&lt;br /&gt;
&lt;br /&gt;
Для машины  buy зададим состояния,  при котором значении параметра hint=1, то есть  она начисляет подсказку:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Buy na max.png]]&lt;br /&gt;
&lt;br /&gt;
Соответственно в машине  store зададим считывания со счетчика  и  прозрачность экрана:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Store.PNG]]&lt;br /&gt;
&lt;br /&gt;
Машина error будет отвечать за вывод ошибки при неудачной покупке, то есть задает прозрачность экрана с ошибкой&lt;br /&gt;
&lt;br /&gt;
[[Файл:Error.PNG]]&lt;br /&gt;
&lt;br /&gt;
Вернемся к машине hint_m сцены Button_8_1 и пропишем для нее состояния. Машина отвечает за начисление подсказки при удачной покупке&lt;br /&gt;
&lt;br /&gt;
[[Файл:Hint m.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
Для того, что бы вызывать машину hint_m в нашей игре, откроем кнопку hint_normal и в свойстве &amp;quot;изменить состояние объекта&amp;quot; в качестве объекта выберем машину hint_m, и пропишем ей состояние check.&lt;br /&gt;
&lt;br /&gt;
'''Совершение покупки'''&lt;br /&gt;
&lt;br /&gt;
Для того что бы покупку можно было совершить необходимо задать в глобальных свойствах возможность совершения покупки. Для этого на сцене в глобальном экране opt добавим новый элемент, которому изменим тип на store. В свойствах объекта store  кликнем правой кнопкой мыши на свойстве wallet, вставляем новое свойство — '''in-app покупка'''. Добавляем поля для покупки: внутренний id, и выбираем расходуемая.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Store2.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Описание объекта Store'''&lt;br /&gt;
&lt;br /&gt;
Объект '''Store''' необходим для описания InApp покупок (позволяют продавать отдельные бонусы, паки и т.п.) в игре.&lt;br /&gt;
&lt;br /&gt;
Основные параметры объекта Store&lt;br /&gt;
&lt;br /&gt;
''id покупки'' – внутренний id покупки.&lt;br /&gt;
&lt;br /&gt;
''Расходуемая'' – 1 – покупка расходуемая, 0 – покупка раз и навсегда, если параметр не указан, по-умолчанию покупка – одноразовая.&lt;br /&gt;
&lt;br /&gt;
''объект (restore)'' – объект - Слушатель восстановления покупки. Этому объекту будет сообщено об успехе восстановления этой покупки покупки.&lt;br /&gt;
состояние (restore) – это состояние будет установлено объекту при успешном восстановлении этой покупки.&lt;br /&gt;
&lt;br /&gt;
'''Для того, чтобы объект Store работал во Вьювере, нужно подкорректировать файл app.icf'''&lt;br /&gt;
&lt;br /&gt;
1. Найти файл app.icf в папке с вашим проектом.&lt;br /&gt;
&lt;br /&gt;
2. Открыть его и найти тег [Game].&lt;br /&gt;
&lt;br /&gt;
3. В теге Game добавить строку purchaseEverything=1.&lt;br /&gt;
&lt;br /&gt;
4. Сохранить файл&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[Game]&lt;br /&gt;
purchaseEverything=1&lt;br /&gt;
DispFixRot=&amp;quot;Landscape&amp;quot;&lt;br /&gt;
# comments and whitespace stripped by deployment tool&lt;br /&gt;
debug=&amp;quot;Absolutist-2253&amp;quot;&lt;br /&gt;
show_build_date=1&lt;br /&gt;
AppTitle=&amp;quot;Viewer&amp;quot;&lt;br /&gt;
DebuggerIP=&amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
DebuggerPort=5322&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Оформление'''&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем к оформлению. Для того что бы на экране появлялось окно с предложением о покупке подсказке необходимо его создать. В начальный момент оно должно быть невидимым и прокликиваем, это состояние задано в машине store.  Создадим в ней 5 подобъектов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.1. Первые два переименуем в '''black''' и '''rec''', изменим им тип на '''[[Rectangle|Rectangle]]'''.&lt;br /&gt;
&lt;br /&gt;
Откроем объект  black, пропишем ему свойствах, оставив его пустым рамку, и цвет фона&lt;br /&gt;
&lt;br /&gt;
[[Файл:Black.PNG]]&lt;br /&gt;
&lt;br /&gt;
Для объекта rec зададим рамку и текстуру заливки. Для этого из базы ресурсов мышкой перетащим соответствующие элементы. Ресурсы для графики находятся в предыдущем уроке. Чтобы прямоугольник отображался правильно, задайте ему ненулевые размеры.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Rec.PNG]]&lt;br /&gt;
&lt;br /&gt;
Чтобы прямоугольник отображался правильно, задайте ему ненулевые параметры размера.&lt;br /&gt;
&lt;br /&gt;
1.2. Третьему элементу поменяем тип на text с текстом&lt;br /&gt;
&lt;br /&gt;
[[Файл:Text.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.3. Четвертый и пятый объекты сделаем кнопками, и назовем их '''ok''' – купить подсказку, '''no''' – отказаться от покупки. &lt;br /&gt;
&lt;br /&gt;
Для кнопки ok из базы ресурсов выберем внешний вид&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ok1.PNG]]&lt;br /&gt;
&lt;br /&gt;
и зададим переход на совершение или провал покупки. Для этого кликнем правой кнопкой мыши на свойстве позиционирование и добавим свойство совершить in-app покупку, заполним для нее поля как указано на картинки&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ok2.PNG]]&lt;br /&gt;
&lt;br /&gt;
Аналогично  поступим с кнопкой no. Добавим графический ресурс и  свойство «изменить состояние объекта», которое будет закрывать окно с предложением о покупке&lt;br /&gt;
&lt;br /&gt;
[[Файл:No1.PNG]]         [[Файл:No2.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Так же сделаем со сценой error. В ней создадим четыре объекта: два rectangle: '''rec_error''' –  пустой, '''black_error''' — оформленный  в такую же рамку; кнопку '''buy''', которая будет делать активным состояние error; текстовый объект '''text_error'''  с текстом «error!»&lt;br /&gt;
&lt;br /&gt;
[[Файл:Buy1.PNG]]&lt;br /&gt;
 &lt;br /&gt;
Разместим все объекты так, что бы картинка хорошо смотрелась. Сохраним все изменения и запустим вьювер. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Снимок1.PNG]] &lt;br /&gt;
&lt;br /&gt;
Сейчас при покупке подсказки количество покупок не имеет лимита, по этому вывод ошибки мы не получим. Этот параметр в реальной игре будет реализован с помощью объекта store, заданием ему соответствующих свойств.&lt;br /&gt;
&lt;br /&gt;
== Patchwork ==&lt;br /&gt;
&lt;br /&gt;
=== Создание экрана и сцены в игровом проекте ===&lt;br /&gt;
&lt;br /&gt;
1. Запустить SceneEditor.&lt;br /&gt;
&lt;br /&gt;
2. В меню Проект → Загрузить → Learning.seproj. &lt;br /&gt;
&lt;br /&gt;
3. Кликнув правой кнопкой мыши по ранее созданному экрану Lesson_08.1, создать экран Lesson_08.2.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_1.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
4. В экране Lesson_08.2 создать новую сцену 08, в которую (через ResourcesEditor) добавить графические ресурсы (bg_game, panel_down, btb_replay_normal) из папки Sources\Lesson_08 (см. подготовка к работе «Создание проекта»). В редактор ресурсов добавить графику нашего будущего Patchwork: level_17, level_17_mask.&lt;br /&gt;
&lt;br /&gt;
=== Настройка объектов ===&lt;br /&gt;
&lt;br /&gt;
1. Создадим на сцене 08 еще два объекта. Для этого нажмем правой кнопкой мыши по сцене и выберем &amp;quot;Создать объект в текущем элементе&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_2.jpg]]&lt;br /&gt;
&lt;br /&gt;
2. Переименуем один из созданных объектов в Patchwork, а другой в table.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_3.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_4.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
3. Теперь будем изменять тип объектов на сцене, чтобы получить нужные нам элементы. Графические ресурсы bg_game и panel_down оставляем без изменений. Ресурсу btb_replay_normal изменяем тип на button. Объекту Patchwork меняем тип на patchwork, table изменяем на тип table.&lt;br /&gt;
4. Теперь объекты нужно разместить на сцене. Обратим внимание на то, что два последних объекта которые мы добавили без графического ресурса. По умолчанию, создаваемые на сцене объекты имеют размер 100х100 пикселей. Увеличим размер таблицы по высоте до 450 пикселей и перетащим ее влево, поместив над объектом panel_down.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Кнопку поместим в левый нижний угол. Добиваемся такого расположения объектов, как показанно на рисунке.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_6.jpg]]&lt;br /&gt;
&lt;br /&gt;
5. Настроим наши объекты. Для кнопки btb_replay_normal в поле &amp;quot;перейти на&amp;quot; укажите текущий экран Lesson_8.2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:правка_намба_1.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для таблицы измените следующие параметры&lt;br /&gt;
&lt;br /&gt;
[[Файл:lesson8_table_setup.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для Patchwork устанавливаем следующие настройки. Обратите внимание, что поля &amp;quot;карт.спереди&amp;quot; и &amp;quot;шаблон&amp;quot; заполняются перетаскиванием графического ресурса из редактора ресурсов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_9.jpg]]&lt;br /&gt;
&lt;br /&gt;
6. Для корректной работы вашего Patchwork необходимо, чтобы таблица находилась выше Patchwork по дереву объектов.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8_10.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Проверьте выполнение задачи с помощью проигрывателя сцен Viewer.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Lesson8.3.Fin.png]]&lt;br /&gt;
&lt;br /&gt;
===  Упражнения ===&lt;br /&gt;
&lt;br /&gt;
1. Щелкнув правой кнопкой мыши по экрану Lesson_08.2, создать новый экран Lesson_08.3&lt;br /&gt;
&lt;br /&gt;
2. Создать новую сцену с названием game.&lt;br /&gt;
&lt;br /&gt;
3. Скопировать все объекты из сцены 08 (экрана Lesson_08.2).&lt;br /&gt;
&lt;br /&gt;
4. Вставить скопированые объекты в новую сцену game (экрана Lesson_08.3).&lt;br /&gt;
&lt;br /&gt;
5. В новой сцене постарайтесь сами прописать состояния и команды в измененную задачу. Сделайте так, чтобы:&lt;br /&gt;
&lt;br /&gt;
a) заменить картинку пэчворка и маски на другую, имеющуюся в базе ресурсов;&lt;br /&gt;
&lt;br /&gt;
b) изменить настройки кнопки рестарта таким образом, чтобы не переходить на экран Lesson_08.3, а сразу передавать пэчворку состояние mix.&lt;br /&gt;
----&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  &lt;br /&gt;
 | width=&amp;quot;40%&amp;quot;|[[Создание игры «Hidden Object Game»|Урок 7]] &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; [[Работа с эффектами|Урок 9]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning]]&lt;/div&gt;</summary>
		<author><name>Sbobryashov</name></author>
		
	</entry>
</feed>