Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Проблема в Unity 3D Высвечивается ошибка - error CS1012: Too many characters in character literal

Хотел сделать чтобы машина собирала монеты, но она их не собирает. Создан такой код, но он не работает как это исправить?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CoinPicker : MonoBehaviour
{
private void onTriggerEnter(Collider other)
{
if (coll.gameObject.tag == 'Coin')
{
Destroy(gameObject);

}
}
}

По дате
По рейтингу
Аватар пользователя
Мыслитель

@ChatGPT

В коде есть синтаксическая ошибка. Строковые литералы в C# должны быть заключены в двойные, а не в одинарные кавычки. Кроме того, имя метода должно начинаться с заглавной буквы.

Вот исправленный код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CoinPicker : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Coin"))
{
Destroy(other.gameObject);
}
}
}


В этом исправленном коде мы проверяем, есть ли у коллайдера, вошедшего в триггер, тег «Монета». Если это так, мы уничтожаем игровой объект, связанный с коллайдером (в данном случае монету).