Unity C # получает переменную из другого скрипта в том же GameObject - PullRequest
0 голосов
/ 09 декабря 2018

Итак, я получил FPSController по умолчанию в качестве объекта GameObject.

Я добавил скрипт Controller с логическим значением холдинг, который позволяет мне подбирать объект.Теперь я хочу добавить оператор if в скрипт FirstPersonController, в котором я не могу выполнить, если hold равен true.Поэтому мне нужно держать bool в моем скрипте FPScontroller.

Я пробовал разные способы сделать это, но каждый раз, когда я использую .GetComponent<Controller>

, я получаю сообщение о том, что контроллер не может быть найден.

Класс из Controller является общедоступным, так же как и bool hold.Они оба на одном объекте.

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

вы пытаетесь получить "контроллер" как дочерний элемент вашего скрипта. Try:

this.GameObject.GetComponent<Controller>

это может быть:

 this.gameObject.GetComponent<Controller>

, но один из них исправитваша проблема

0 голосов
/ 09 декабря 2018

Кажется, что все в порядке.

Что происходит, когда в вашем FPSController вы пишете

Controller controller = transform.GetComponent<Controller>();

Нулевой контроллер?Или вы получаете исключение нулевой ссылки?

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