Как получить доступ к компоненту детского GameObject в Unity? - PullRequest
0 голосов
/ 12 января 2019

Я хочу включить панель состояния здоровья, которая является ребенком моего врага. Я не знаю, как получить доступ к компоненту дочернего элемента.

Скрипт прикреплен к FightController. Я найду врагов по их метке. Каждый враг-GameObject имеет свой 'Health bar'-GameObject.

void Start()
{
    enemy = GameObject.FindGameObjectsWithTag("enemy");

    for(int enemyNumber = 0; enemyNumber < 5; enemyNumber++){
         enemy[enemyNumber].GetComponentInChildren<Canvas>().enabled = true;  //This is not working.
    }
}

Я получаю следующую ошибку: «NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта»

1 Ответ

0 голосов
/ 12 января 2019

Ну, вы можете попробовать использовать transform.GetChild[0].GetComponent<Canvas>() и убедиться, что оно не равно нулю. Конечно, если холст - n -ое дитя вашего врага, тогда используйте GetChild[n] вместо 0.

Скопировано из моего комментария

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...