Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Гайды Мой Кабинет

Подбор монет

В данной статье мы рассмотрим, как сделать подбор монет, и отображение количество подобранных монет на игровой сцене.

Итак, для начала нам необходимо создать место, где будет отображено общее количество собранных монет. Для этого создадим игровой объект типа UI – Canvas, и настроим его с помощью окна Inspector:

  1. В поле Render Mode выбираем Screen Space – Camera. Это нужно, чтобы наш канвас привязать к нашей игровой камере.
  2. В поле Render Camera перетаскиваем объект нашей камеры из окна Hierarchy.
  3. В поле UI Scale Mode выбираем Scale With Screen Size.
  4. В поле Reference Resolution указываем Х=1920 Y=1080. Если Вы создаёте игру для мобильных устройств, то установите Х=1080 Y=1920

Теперь создадим область, где будет храниться наше значение монет. Для этого создаём игровой объект типа UI – Text. И в окне Inspector в поле Text пропишем 0.

Теперь создадим объект нашей монеты, которую мы будем собирать. Для этого создадим пустой объект, и назовём его, например, Money. Далее через окно Inspector проделаем следующие операции:

  1. Добавим компонент Rigidbody2D. В поле Body Type установим свойство Kinematic – чтобы наши монеты не падали под действием гравитации.
  2. Добавим компонент BoxCollider2D. Поставим галочку в поле Is Trigger – чтобы для данного объекта выполнялся метод OnTriggerEnter2D(), который мы чуть позже будем использовать в C# скрипте.
  3. Создадим тег для монет с названием, например, Money. Добавим этот тег к нашему объекту.

Программная часть

Суть подбора монет проста. Как только наш персонаж соприкоснётся с объектом, который имеет тег Money, он уничтожается. А пользователю прибавится +1 монета в переменную. Давайте это реализуем. Для этого создадим C# скрипт с названием, например, TakeItem. И пропишем в нём следующий код.

using UnityEngine;
using UnityEngine.UI;

public class TakeItem : MonoBehaviour
{
    public Text text;
    public int money;
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("Item"))
        {
            Destroy(collision.gameObject);
            money++;
            text.text = money.ToString();
        }
    }
}

В завершении нам нужно сделать этот код исполняемым. Для этого загрузим этот код в объект нашего игрового персонажа. А так же переместим наш объект Text в поле text, используя окно Inspector.

Вы можете отблагодарить автора донатом. ₽ Спасибо

Комментарии

0
Будьте первым, кто оставит комментарий к этому посту
Гости не могут оставлять комментарии. Войдите на Сайт или Зарегистрируйтесь