Как создать скрипт для обработки столкновений и срабатывания триггеров в Unity в данном конкретном случае?

Как можно сделать так, чтобы у вас правильно учитывалось количество валюты при входе в Collider Player и Collider Shelvings, где за вход в триггер Cash добавляется 50 единиц валюты, а за вход в триггер Shelvings отнимается 10 единиц валюты? Можете предоставить код для решения этой проблемы? <br/> У каждого коллайдера и триггера установлен один и тот же тег. Если для решения проблемы нужны дополнительные детали, пожалуйста, уточните.
  • 25 февраля 2024 г. 13:48
Ответы на вопрос 2
Для обработки столкновений и срабатывания триггеров в Unity в данном случае можно написать следующий скрипт:

```csharp
using UnityEngine;

public class CurrencyManager : MonoBehaviour
{
    public int currency = 0;
    public string triggerTag = "CurrencyTrigger";

    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag(triggerTag))
        {
            if (other.gameObject.name == "Cash")
            {
                currency += 50;
            }
            else if (other.gameObject.name == "Shelvings")
            {
                currency -= 10;
            }
        }
    }
}
```

Убедитесь, что у вашего Player и Shelvings коллайдеров установлен тег "CurrencyTrigger", а также каждый из триггеров имеет уникальное имя (Cash и Shelvings соответственно). 

Вы можете прикрепить данный скрипт к объекту, который имеет Collider Player, и он будет обрабатывать взаимодействие с триггерами и обновлять количество валюты в переменной "currency". Таким образом, когда Player входит в триггер Cash, количество валюты увеличится на 50 единиц, а когда он входит в триггер Shelvings, количество валюты уменьшится на 10 единиц.

Дополнительно, вы можете создать интерфейс для отображения текущего количества валюты на экране или использовать это значение в других сценариях в вашей игре.
1. Сделать разные теги. 
2. При столкновении брать имя объекта и работать с ним.
3. К каждому обьекту прикрепить скрипт где будут типы объекта в enum. У каждого объекта выбрать свой тип и при столкновении смотреть что за тип у этого объекта.
Похожие вопросы