Преобразовать строку в неактивный игровой объект - PullRequest
0 голосов
/ 25 июня 2019

У меня есть GameObject, который неактивен, а именно emptyShape1, и я создал функцию, которая возвращает строку, а именно emptyShape1.

Я попытался преобразовать эту строку в GameObject, используя приведение

(GameObject)emptyShape1 

, чтобы я мог активировать пустойShape1 GameObject, но он выдает ошибку, сообщающую, что

не может преобразоватьстрока в Unity.GameObject

Я пытался использовать GameObject.Find (emptyShape1), но он также выдает ошибку, в которой говорится:

Ссылка на объект не установлена ​​для экземпляра Object

Как эффективно найти или преобразовать строку emptyShape1 в GameObject?

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Вы можете найти все объекты с помощью Resources.FindObjectsOfTypeAll<SomeType>();, который возвращает массив, а затем искать объект с именем - однако это дорогой вызов. Неужели ваш код не может быть изменен, чтобы сохранить список отключенных элементов, которые вы хотите перезвонить?

0 голосов
/ 25 июня 2019

РЕДАКТИРОВАТЬ: я неправильно понял, вы хотите найти неактивный GameObject с определенным именем. Я не думаю, что вы можете сделать это с GameObject.Find, я думаю, что это можно найти, если у вас есть родительский объект;

parent.transform.Find("emptyShape1");

Старый ответ:

Как создать GameObject с определенным именем и отключить его:

GameObject emptyGameObject = new GameObject(enemyShape1);
emptyGameObject.setActive(false);
...