Как получить ссылку на GameObject без использования Find () в C # / Unity? - PullRequest
0 голосов
/ 22 сентября 2019

В настоящее время я знакомлюсь с классом игрового программирования и в примечаниях к лекции упоминается, что вместо использования чего-то вроде:

GameObject obj = GameObject.Find("name");

внутри функций, вы можете "добавить объекткак открытый член типа GameObject и подключите его в инспекторе ", фактически не объясняя, как это сделать.

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

Ответы [ 2 ]

1 голос
/ 22 сентября 2019

Вот как ты мог это сделать.Допустим, вы хотите obj2 в obj1

Сначала войдите в сценарий obj1 и объявите переменную public public GameObject obj2;

Затем перейдите к инспекторуobj1, в компоненте скрипта вы найдете поле Obj2.Теперь просто перетащите obj2 из иерархии в это поле или нажмите круглую кнопку рядом с полем и выберите объект из списка.

0 голосов
/ 22 сентября 2019

Если вы используете модификатор доступа public или для полей с модификатором доступа private (по умолчанию), internal или protected, если вы аннотируете с помощью [SerializeField]они будут отображаться в инспекторе, если они сериализуемые и поддерживаемого типа.

//This is shown in the inspector
public string _publicField = "public field";

//This is not shown in the inspector, unless you are in debug mode.
private string _privateField = "private field";

//This is shown in the inspector
[SerializeField]
private string _annotatedPrivateField = "annotated private field";

Что касается инспектора:

Окно «Инспектор» (иногда его называют «Инспектор») отображает подробную информацию о выбранном в данный момент GameObject, включая все подключенные компоненты и их свойства, и позволяет изменять функциональность GameObjects в вашей сцене.

enter image description here

Из официальной документации.

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