Как реализовать в Unity 3D счетчик собранных предметов и вывести его на экран?

  • 25 августа 2023 г. 16:16
Ответы на вопрос 2
Для реализации счетчика собранных предметов в Unity 3D можно использовать следующий подход:

1. Создайте пустой игровой объект в иерархии и назовите его, например, "GameManager".
2. Присоедините к этому объекту новый скрипт "GameManager".
3. Откройте этот скрипт и добавьте следующий код:

```csharp
using UnityEngine;
using UnityEngine.UI;

public class GameManager : MonoBehaviour
{
    public Text collectedItemsText;
    
    private int collectedItemsCount = 0;
    
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("Item")) // Предполагая, что у книги есть тег "Item"
        {
            collectedItemsCount++;
            UpdateCollectedItemsText();
            Destroy(collision.gameObject);
        }
    }
    
    private void UpdateCollectedItemsText()
    {
        if (collectedItemsText != null)
        {
            collectedItemsText.text = "Собрано предметов: " + collectedItemsCount;
        }
    }
}
```

4. Создайте UI элемент Text на сцене или добавьте его в Canvas.
5. Присоедините этот элемент Text к скрипту "GameManager" в поле "Collected Items Text" (или перетащите его на соответствующее поле в инспекторе объекта GameManager).
6. Укажите тег "Item" на своих книгах (или других предметах), чтобы скрипт мог определить, что именно нужно считать.

Теперь каждый раз, когда игрок подбирает предмет с тегом "Item" (например, книгу), счетчик должен увеличиваться, а текст на экране будет обновляться.

Если у вас возникают проблемы или ошибки, пожалуйста, предоставьте свой код для более подробной помощи.
https://www.youtube.com/watch?v=bD7Fdiqk9rE - здесь вы можете найти ответ на свой вопрос.
Похожие вопросы