Unity MissingComponentException: There is no 'GameObject' attached to the “BG” game object, but a script is trying to access it

282
01 мая 2019, 13:10

У меня есть GameObject BG , хочу что бы при изменении Toggle он отключался.

    private GameObject BG;
// Use this for initialization
void Start () {
    BG = GetComponent<GameObject>();
}
// Update is called once per frame
void Update () {
}
public void SetTheme(bool newValue)
{
    BG.SetActive(!BG.activeSelf);
}

Но этот код не работает. Дает такую ошибку:

MissingComponentException: There is no 'GameObject' attached to the "BG" game object, but a script is trying to access it. You probably need to add a GameObject to the game object "BG". Or your script needs to check if the component is attached before using it.

Хотя в проекте есть Panel BG

Answer 1

Вы немного не так записали что то в BG. Если скрипт висит на BG то нет нужны получать значение gameОjbject через GetComponent<> Вам достаточно просто использовать gameObject вместо

 BG = GetComponent<GameObject>();

Дальше везде вы можете использовать просто gameObject а не BG К примеру Было

BG.SetActive(!BG.activeSelf);

Стало

gameObject.SetActive(!gameObject.activeSelf);
READ ALSO
Изменение значений атрибутов name в input

Изменение значений атрибутов name в input

На aspx странице есть форма:

130
Drop drag wpf перетаскивание вкладок ошибка

Drop drag wpf перетаскивание вкладок ошибка

Делаю перетаскивание вкладок,как в браузереВыдает ошибку Операция недопустима, когда ItemsSource используется

166
C# читка с xml файла

C# читка с xml файла

Очень нужна помощьУ меня есть файл xml со следующей структурой

159
Разбить решение задачки по потокам [закрыт]

Разбить решение задачки по потокам [закрыт]

Задачка: Создайте приложение, позволяющие численно рассчитать определенный интеграл, разбив его вычисление на несколько потоковВыберите...

163