Додавання віртуального магазину до вашої гри, Частина 1
Якщо гравці вашої гри перемогли або починають нудьгувати від вашої гри, створення магазину для розблокованих предметів або персонажів – це чудовий спосіб збільшити повторну цінність і утримання.
У цьому навчальному посібнику ми розглянемо, як створити магазин в додатку, де ваші користувачі "Купують" предмети за очки, які вони отримали у вашій грі!
У цьому прикладі наша гра буде дуже простою… Просто продовжуйте натискати на гравця, щоб отримати більше очок! Якщо ви хочете отримувати більше очок за клік, підвищте рівень вашого “Гравця”.
Для початку ми налаштуємо наші гроші, які будуть спільними для всіх сцен.
Додавання грошей
Перше, що ми зробимо, це перейти на Глобальний UI і додати мітку, яка буде представляти наші гроші, і встановити текст на 0. Також додайте іншу мітку, щоб сказати нам, що це за мітка.
Давайте також зсунемо мітку з грошима трохи за межі екрану, щоб вони ніколи не з'являлися, коли ви граєте у гру.
Тепер ми вирішимо, як зберігати і завантажувати гроші, так щоб щоразу, коли гравець залишає вашу гру, гроші, які вони отримали, все ще були там!
Збереження грошей
Перейдіть до поведінки мітки з грошима.
Спочатку поки що ми будемо оновлювати наші гроші.
Нам знадобиться Пакет поведінки, Отримати мітку, Зберегти значення, і Повідомити про повідомлення.
Розмістіть поведінки, як на малюнку вище, і встановіть Пакет поведінки в ВИМКНУТО.
Багато чого відбувається. Давайте розглянемо, що це все означає.
Коли щось виконує Пакет поведінки, ми хочемо отримати мітку, щоб захопити поточне значення грошей. Якщо ви запитуєте, чому ми не використовували контейнер для коробки для цього, це тому, що немає способу отримати значення контейнера коробки під час роботи в іншому об'єкті… ПОКИ ЩО.
Далі, ми хочемо зберегти це значення отриманої мітки у файл. Для цього просто перетягніть вихідні дані з Отримання мітки і скиньте їх у поле Вартість для збереження значення для Зберегти значення.
Повідомлення про поведінку дозволяє іншим об'єктам знати, що гроші щойно були оновлені. Ви можете використовувати це для оновлення міток у вашій сцені з новим значенням грошей.
Завантаження грошей
Тепер, коли ми підготували збереження, давайте зробимо так, щоб коли гравець відкриває ваш додаток, він завантажує гроші, які гравець заробив!
Всередині мітки з грошима нам потрібно додати Пакет поведінки, Завантажити значення, ще один Пакет поведінки та Поведінка УВІМКНУТО. Розмістіть їх, як на малюнку нижче.
Тепер додайте поведінку Якщо, ще одну Якщо і перетягніть її на бік першої Якщо, щоб зробити В іншому випадку, Змінити мітку і Поведінка УВІМКНУТО. Зробіть так, щоб Поведінка УВІМКНУТО увімкнула повідомлення про трансляцію з вище.
Розмістіть ці поведінки, як на малюнку нижче:

Добре… Тут багато чого відбувається, тож давайте розглянемо, що ми зробили!
Вам, мабуть, цікаво, яка мета Пакетів поведінки. Пакети поведінки виконують дві функції… По-перше, вони організовують вашу поведінку, а по-друге, вони примушують порядок поведінки так, щоб вони виконувалися зліва направо, як подія.
Отже, ми підключаємо нашу поведінку Завантажити значення до Пакету поведінки так, щоб, коли сцена починається, вона завантажує значення, збережене у файлі. У властивостях Завантажити значення переконайтеся, що ви вибрали поведінку Зберегти значення, яку ми створили раніше.
Наступний Пакет поведінки перевірить, чи було завантажене значення. Поведінка Якщо змінить мітку, якщо значення не пусте. Для цього встановіть перше поле вводу на вихідні дані з поведінки Завантажити значення, а друге поле вводу залиште порожнім.
Поведінка Якщо підключається до Зміни Мітки і виконується лише у разі, якщо поведінка Завантажити значення фактично завантажує значення.
Поведінка Інакше не потрібно нічого перевіряти. Вона завжди просто буде істинною і виконає свою поведінку УВІМКНУТО. Поведінка УВІМКНУТО просто виконає Пакет поведінки Збереження, який ми створили раніше, щоб ми могли зберегти за замовчуванням суму грошей, яку має гравець.
Витрачання грошей!
Тепер, коли ми зберегли та завантажили наші гроші, давайте зробимо спосіб їх витратити! Для цього ми побудуємо централізовану транзакційну систему з міток.
Для початку, на Головному полотні, перетягніть три мітки. Перша буде представляти поточну суму транзакції, друга – статус, а третя – повідомлення на кшталт “Недостатньо грошей!” або “Куплено!”. Також давайте підпишемо наші представництва, щоб ми знали, що це. Давайте також трохи зсунемо все це за межі екрану, щоб вони не були видимими для нашого гравця під час гри.
Давайте також перетягнемо ще один об’єкт на нашу канвас, щоб обробити логіку транзакції. У цьому прикладі ми лише використаємо мітку, яка говорить “Логіка транзакції”.
Перейдіть до поведінки для мітки Логіка транзакції, щоб ми могли створити логіку для обробки логіки покупки.
Що нам потрібно зробити, це перевірити, чи хватає гравцеві грошей для завершення транзакції. Для цього перетягніть Пакет поведінки та два поведінки Отримати мітку та з'єднайте їх, як на малюнку нижче. Переконайтеся, що ви встановили Пакет поведінки в вимкнено, щоб ми не попередньо викликали транзакцію, коли сцена завантажується.
Перша Отримати мітку отримує мітку з грошима, а друга отримує суму транзакцій. Що ми хочемо перевірити, це чи менше грошей, ніж сума транзакції. Якщо так, ми хочемо змінити статус транзакції на “Не вдалося” і повідомлення на “Недостатньо грошей!”.
Для цього додайте поведінку Якщо та дві зміни міток. Розмістіть поведінки, як на малюнку нижче.
Поведінка Якщо просто перевіряє, чи є мітка грошей менша за суму транзакції.
Тепер ми перевіримо зворотне. Якщо у користувача дійсно достатньо грошей, давайте віднімемо суму транзакції з грошей і збережемо гроші. Для цього створіть поведінку Інакше як ми робили раніше, з’єднайте Пакет поведінки, щоб організувати решту нашої логіки, поведінку Відняти Значення, Поведінку Змінити Мітку та Поведінку УВІМКНУТО.
Поведение Відняти Значення відніме суму транзакції з грошей.
Потім ми використовуємо Зміну мітки, щоб змінити мітку з грошима на вихідні дані поведінки Відняти значення.
Поведінка УВІМКНУТО потім виконає Пакет поведінки Збереження, який ми створили в розділі Збереження грошей.
Тепер давайте створимо статус успіху, щоб дія, яка виконує транзакцію, знала, чи була транзакція успішною!
Для цього просто перетягніть дві Зміни мітки.
Встановіть мітку статусу на “Успіх”, а повідомлення транзакції на “Куплено!”
Отже, тепер у нас є можливість витрачати гроші. Встановлюючи суму транзакції з поведінкою Змінити мітку, все, що потрібно зробити – це використовувати Поведінку УВІМКНУТО на Пакеті поведінки, який запускає нашу логіку транзакції. Щоб перевірити, чи це було успішно чи ні, вам потрібно лише перевірити мітку Статусу, щоб побачити, чи говорить вона “Не вдалося” або “Успіх”.
Зарахування грошей!
Ми змусили наших гравців витрачати гроші… але як вони можуть витратити те, чого у них немає? Нам потрібно дати нашим гравцям спосіб заробити деякі гроші для витрати. І все ж у нашій логіці покупки, додайте ще один Пакет поведінки, щоб обробити нашу логіку покупки, і не забудьте вимкнути його. Ми не хочемо попередньо купувати щось, коли сцена завантажується.
Перше, що ми зробимо – це отримати гроші та суму транзакції. Тож додайте два Отримати мітку, як показано нижче.
Потім ми хочемо Додати гроші до суми транзакції. Додайте Поведінку Додати Значення, Поведінку Змінити Мітку та Поведінку УВІМКНУТО.
Поведінка Змінити мітку буде виходом з Поведінки Додати Значення та змінить значення грошей. Поведінка УВІМКНУТО буде зберігати нові значення грошей, як ми робили в останньому розділі.
Нарешті, ми хочемо створити статус транзакції та повідомлення. Додайте дві Зміни мітки, щоб встановити статус на “Успіх” і повідомлення на “Продано!”.
І тепер у нас є можливість для наших гравців заробляти гроші. Просто викликайте зміну суму транзакції та використовуйте Поведінку УВІМКНУТО, щоб виконати наш пакет поведінки, щоб додати до грошей користувача.
Куди рухатися далі
Досі ми створили систему транзакцій, в якій наші гравці мають гроші і можуть використовувати ці гроші для покупок. Наша система транзакцій також дає можливість дозволити нашому гравцеві заробляти гроші також. Система транзакцій також зберігає гроші, так що гравець може залишити додаток і повернутися з тією ж сумою грошей.
В наступному навчальному посібнику ми розглянемо, як купувати предмети для наших гравців і переконатися, що їхні предмети також залишаються збереженими.

