Запуск кода из другого скрипта через GetComponent

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Запуск кода из другого скрипта через GetComponent

Сообщение Kakaha_228 04 сен 2022, 16:15

Значит такая ситуация: есть скрипт фонарика. У этого фонарика садится батарея, и время от времени батарейки нужно менять. В коде фонарика написал код, добавляющий в инспекторе фонарику батарейки.

Код выглядит так:
Код: Выделить всё
public int batteryCount = 1; - кол-во батареек на начале игры
В конце скрипта:
public void BatteryAdding()
{
batteryCount +=1;
}


А во втором скрипте:
Код: Выделить всё
if(type == ItemType.Battery)
{
GetComponent<Fonar>().BatteryAdding();
и дальше некоторые действия
}


Проблема заключается в том, что этот (последний) код не работает. Когда я беру батарейку, она не добавляется, а в консоли пишет: NullReferenceException: Object reference not set to an instance of an object
Item.Interaction () (at Assets/Scripts/Item.cs:88)
Interaction.Update () (at Assets/Scripts/Interaction.sc:20)

Как решить проблему? Перерыл кучу форумов, документацию по Unity, всё впустую...
Да не нужна мне подпись...
Аватара пользователя
Kakaha_228
UNIт
 
Сообщения: 60
Зарегистрирован: 21 фев 2021, 14:12

Re: Запуск кода из другого скрипта через GetComponent

Сообщение 1max1 04 сен 2022, 18:34

Видимо компонент Fonar отсутствует на том объект, с которого ты его хочешь взять.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Запуск кода из другого скрипта через GetComponent

Сообщение Kakaha_228 22 мар 2023, 16:35

Понадобилось 2 дня, чтобы понять, в чём была моя ошибка (правла понаобилось ещё полгода, чтобы вспомнить о этой теме). В общём, в переменных нужно указать public GameObject Fonarik;, затем в старте указать Fonarik = GetComponent<Fonar>();, затем в коде уже вызывать нужный мне код в апдейте... Всё оказалось очень просто, нужно было лишь просто просмотреть повнимательнее и вощупать вручную код...
Да не нужна мне подпись...
Аватара пользователя
Kakaha_228
UNIт
 
Сообщения: 60
Зарегистрирован: 21 фев 2021, 14:12


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28