Задать вопрос
@givemoneybiatch
Немного веб, немного гейм

Как исправить ошибку при поиске в instantiate объекте?

Здравствуйте, у меня есть простой префаб танк, который создан в начале игры. Хочу найти в нем дочерний gameObject
public class GameManager : MonoBehaviour {
     public GameObject tankPrefab;
     private GameObject playerTank;
 
     // Start is called before the first frame update
     void Start () {
 
         GameObject inst = Instantiate (tankPrefab, new Vector3 (0, 0, 0), Quaternion.identity);
         playerTank = inst.gameObject.Find ("Body");
     }
 
     // Update is called once per frame
     void Update () { }
 }

Получаю ошибку
Assets\Scripts\GameManager.cs(14,22): error CS0176: Member 'GameObject.Find(string)' cannot be accessed with an instance reference; qualify it with a type name instead


Как исправить?
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Разработчик игр на Unity с нуля
    10 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • GB (GeekBrains)
    Разработчик Игр на Unity
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
Микропетпроджект - домашнее облако homeCloud
Потому что find - статический метод, его надо вызывать не у экземпляра.
Ответ написан
kreo_OL
@kreo_OL
Медузко -_-
Вот так должно работать

playerTank = inst.gameObject.transform.Find("Body");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы