Скрипт в Юнити не работает
Я написал скрипт чтобы когда игрок касался коллайдер монеток, монетки исчезали
Но он не работает! Я назвал монетки Coins1 Дал им тег coins1, но ничего не работает, поставил Is Trigger на коллайдере и Is Kinematic в ригидбади, но, нифига( Помогите пожалуйста!
Ответы (2 шт):
Автор решения: farkon00
→ Ссылка
У вас странный код, но главная ошибка в точке c запятой после ifа.
void OnTriggerEnter(Collider other)
{
if (other.tag == "coins1")
{
Destroy(other.gameObject);
}
}
Также условия работы OnTriggerEnter:
Оба объекта должны иметь на себе компонент Collider.
РОВНО один объект (НЕ два) должен быть помечен как триггер (то есть свойство isTrigger должно быть равно true) в компоненте Collider.
Хотя бы один из двух объектов должен иметь компонент Rigidbody.
Автор решения: MRXIT
→ Ссылка
У вас всех странный код. Ужаснее не придумаешь. Забудьте тэги. Это подход максимально не опытного программиста. Пишите так:
private void OnTriggerEnter(Collider other)
{
if (other.TryGetComponent(typeof(Coin), out Coin coin))
Destroy(coin);
}