Добавление виртуального магазина в вашу игру, Часть 1 | hyperPad Documentation

Loading...

Logo
DocumentationУчебные материалыДобавление виртуального магазина в вашу игру, Часть 1
Учебные материалы

Добавление виртуального магазина в вашу игру, Часть 1

Last updated July 6, 2015

Если игроки вашей игры победили или начинают скучать от нее, создание магазина для разблокируемых предметов или персонажей - отличный способ увеличить ценность повторного прохождения и удержания игроков.

В этом уроке мы рассмотрим, как построить магазин в приложении, где ваши пользователи могут "покупать" предметы с помощью очков, которые они заработали в вашей игре!

В этом примере наша игра будет очень простой... Просто продолжайте нажимать на игрока, чтобы получить больше очков! Если вы хотите получать больше очков за нажимание, улучшите своего "Игрока".

Для начала мы настроим нашу валюту, которая будет общая для всех сцен.

Добавление денег

Первым делом мы добавим на Глобальный интерфейс Label, который будет представлять наши деньги, и установим текст на 0. Также добавим другую метку, чтобы сообщить, что это за метка.

Также переместим метку денег немного за пределы экрана, чтобы она никогда не отображалась, когда вы играете в свою игру.

Теперь мы обработаем сохранение и загрузку денег, чтобы каждый раз, когда игрок покидает вашу игру, заработанные деньги все еще были там!

Сохранение денег

Перейдите в поведение метки денег.

Сначала мы будем обновлять наши деньги.

Нам понадобятся Пакет поведения, Получить метку, Сохранить значение и Поведение Передать сообщение.

Упорядочите поведения так, как на изображении выше, и установите Пакет поведения в ВЫКЛ.

Много всего произошло. Давайте разберем, что это все значит.

Когда что-то выполняет Пакет поведения, мы хотим получить метку, чтобы захватить текущее значение денег. Если вы задаетесь вопросом, почему мы не использовали Контейнер, это потому, что нет способа получить значение Контейнера, находясь в другом объекте... ПОКА.

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

Поведение Передать сообщение позволяет другим объектам знать, что деньги только что были обновлены. Вы можете использовать это, чтобы обновить метки в вашей сцене с новым значением денег.

Загрузка денег

Теперь, когда мы уладили сохранение, давайте сделаем так, чтобы при открытии приложения игрок загружал деньги, которые он заработал!

Внутри метки денег нам нужно добавить Пакет поведения, Загружать значение, еще один Пакет поведения и Поведение Включить. Упорядочите их, как на картинке ниже.

Теперь добавьте Поведение Если, еще одно Если и перетащите его на сторону первого Если, чтобы сделать Иначе Если, Изменение метки, и Поведение Включить. Сделайте так, чтобы Поведение Включить включало переданное сообщение из предыдущего пункта.

Упорядочите эти поведения, как показано на рисунке ниже:

Ладно... Здесь много что происходит, так что давайте взглянем на то, что мы только что построили!

Вы, вероятно, задаетесь вопросом, какова цель Пакетов поведения. Пакеты поведения выполняют две цели... Во-первых, они организуют ваши поведения, а во-вторых, они принудительно упорядочивают поведения, чтобы они выполнялись слева направо, как это делает событие.

Таким образом, мы связываем наше Поведение Загружать значение с Пакетом поведения, чтобы, когда сцена начинается, она загружает значение, хранящееся в файле. В свойствах Загружать значение убедитесь, что вы выбрали Поведение Сохранить значение, которое мы создали ранее.

Следующий Пакет поведения будет проверять, было ли загружено значение или нет. Поведение Если будет изменять метку, если значение не пусто. Для этого установите первое поле ввода на вывод из Поведения Загружать значение и второе поле ввода оставьте пустым.

Поведение Если затем соединяется с Изменением метки и выполняется только в том случае, если Загруженное значение действительно загружено.

Поведение Иначе не требует проверки ничего. Оно всегда просто истинно и выполняет его дочернее Поведение Включить. Поведение Включить просто исполнит Пакет поведения Сохранить, который мы создали ранее, чтобы мы могли сохранить стандартное количество денег, которое есть у игрока.

Траты денег!

Теперь, когда у нас есть загрузка и сохранение наших денег, давайте создадим способ их потратить! Для этого мы собираемся построить централизованную систему транзакций из меток.

Для начала, на Главном холсте добавьте три метки. Первая будет представлять текущую сумму транзакции, вторая будет представлять статус, а третья будет представлять сообщение, например "Недостаточно денег!" или "Куплено!". Также давайте подпишем наши представления, чтобы знать, что это такое. Также переместим все немного за пределы экрана, чтобы они не были видны нашему игроку во время игры.

Также перетащите на наш холст другой объект для обработки логики транзакции. В этом примере мы просто используем метку с надписью "Логика транзакции".

Перейдите к поведению метки Логика транзакции, чтобы мы могли создать логику обработки покупки.

Что нам нужно сделать, так это проверить, достаточно ли у игрока денег для завершения транзакции. Для этого перетащите Пакет поведения и два Получить метка и соедините их, как на картинке ниже. Убедитесь, что вы установили Поведение Пакет в выключенное состояние, чтобы не вызывать транзакцию преждевременно при загрузке сцены.

Первый Получить метку получает метку денег, а второй получает сумму транзакции. Что мы хотим сделать, так это проверить, меньше ли деньги, чем сумма транзакции. Если да, мы хотим изменить статус транзакции на "Неудачно" и сообщение на "Недостаточно денег!".

Для этого добавьте Поведение Если и два Изменить метку. Упорядочите поведения, как показано на картинке ниже.

Поведение Если просто проверяет, меньше ли метка денег, чем сумма транзакции.

Теперь мы собираемся проверить обратное. Если у пользователя достаточно денег, давайте вычтем сумму транзакции из денег и сохраним деньги. Для этого создайте Поведение Иначе Если, как мы делали раньше, подключите Пакет поведения для организации остальной нашей логики, Поведение Вычесть значения, Поведение Изменить метку и Поведение Включить.

Поведение Вычесть значения будет вычитать сумму транзакции из денег.

Затем мы используем Изменить метку, чтобы изменить метку денег на выход из поведения Вычесть значения.

Поведение Включить затем выполнит Пакет поведения Сохранить, который мы создали в разделе Сохранение денег.

Теперь давайте создадим статус успеха, чтобы действие, выполняющее транзакцию, знало, прошло ли транзакция успешно!

Для этого просто перетащите два поведения Изменить метку.

Установите статус метки, чтобы сказать "Успех", а сообщение транзакции - чтобы сказать "Куплено!"

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

Заработок денег!

У нас наши игроки тратят деньги... но как они могут тратить то, чего у них нет? Нам нужно дать нашим игрокам способ заработать немного денег, чтобы потратить. Все еще в нашей логике покупки добавьте еще один Пакет поведения для обработки нашей логики покупки и убедитесь, что он выключен. Мы не хотим преждевременно что-то покупать, когда сцена начинается.

Первое, что нам нужно сделать, - это получить деньги и сумму транзакции. Поэтому добавьте два поведения Получить метка, как ниже.

Затем мы хотим добавить деньги к сумме транзакции. Добавьте Поведение Добавить значение, Изменить метку и Поведение Включить.

Поведение Изменить метку будет выводом поведения Добавить значение и изменит значение денег. Поведение Включить сохранит наше новое значение денег, как мы делали в последнем разделе.

Наконец, нам нужно создать статус транзакции и сообщение. Добавьте два поведения Изменить метку, чтобы установить статус на "Успех" и сообщение, чтобы сказать что-то вроде "Продано!".

И теперь у нас есть возможность для наших игроков зарабатывать деньги. Просто установите сумму транзакции и используйте Поведение Включить, чтобы выполнить наш Пакет поведения заработка, чтобы он добавлял деньги пользователя.

Куда идти с этого момента

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

В следующем уроке мы собираемся обсудить покупку предметов для наших игроков и убедиться, что их предметы также сохраняются.