обратиться к дочернему объекту

Общие вопросы о Unity3D

обратиться к дочернему объекту

Сообщение Hallowed 27 авг 2019, 13:28

день добрый
не получается обратиться к дочернему объекту

объявление объекта (в него - префаб):
Синтаксис:
Используется csharp
public GameObject kart_grifon_1_obj;

будет помещаться в массив:
Синтаксис:
Используется csharp
public GameObject[,] user_units = new GameObject[5, 7];

создание объекта:
Синтаксис:
Используется csharp
user_units[x_pos_piece, y_pos_piece] = Instantiate(kart_grifon_1_obj, TempObject.transform.position, Quaternion.Euler(0, 0, 0));

работаю с объектами следующим образом:
Синтаксис:
Используется csharp
user_units[x, 2].GetComponent<unit_obj_script>().Health_Slider.value = units[x, 2].health;

Синтаксис:
Используется csharp
user_units[x_pos_piece, y_pos_piece].GetComponent<unit_obj_script>().Health_Slider.maxValue = 10;


все хорошо работает
добавил в этот префаб (который в переменной kart_grifon_1_obj) ещё один объект со своим скриптом
не получается обратится к этому объекту (и к скрипту соответственно)

так выдает ошибку:
Синтаксис:
Используется csharp
user_units[x, y].gameObject.transform.GetChild(0)

и так
Синтаксис:
Используется csharp
user_units[x, y].transform.GetChild(0)

так:
Синтаксис:
Используется csharp
Transform goldStar_1 = user_units[x, y].gameObject.transform.GetChild(0);
                    Transform goldStar_2 = user_units[x, y].transform.GetChild(0);

и так тоже:
Синтаксис:
Используется csharp
Transform goldStar_0 = user_units[x, y].transform.FindChild("Lamasu");


выдает свое:
NullReferenceException: Object reference not set to an instance of an object

https://prnt.sc/oy31xq

подскажите, пожалуйста - как сделать
Hallowed
UNIт
 
Сообщения: 53
Зарегистрирован: 23 окт 2017, 06:48

Re: обратиться к дочернему объекту

Сообщение seaman 27 авг 2019, 13:45

Для начала - понять что null. Судя по тому что я вижу user_units[x, y] - null.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: обратиться к дочернему объекту

Сообщение Hallowed 27 авг 2019, 14:02

seaman писал(а):Для начала - понять что null. Судя по тому что я вижу user_units[x, y] - null.


у меня же написано, что прекрасно работается с user_units[x, y]
как указано работается следующим образом
Синтаксис:
Используется csharp
user_units[x, y].GetComponent<unit_obj_script>().Health_Slider.value = units[x, y].health;
Hallowed
UNIт
 
Сообщения: 53
Зарегистрирован: 23 окт 2017, 06:48

Re: обратиться к дочернему объекту

Сообщение seaman 27 авг 2019, 14:12

Мало ли что у Вас написано...
Тогда укажите - что у Вас null в этих строчках.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


Вернуться в Общие вопросы

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

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