Как активировать скрипт на объекте из скрипта в другом объекте? - PullRequest
0 голосов
/ 28 февраля 2019

Я делаю гоночную игру, и у меня проблемы с отключением управления, пока не начнется обратный отсчет.Конец сценария обратного отсчета:

CountDownNumber.SetActive(false);
CountDownNumber.GetComponent<Text>().text = "GO!";
countdownAudio.Play(); //Change to Go Audio
CountDownNumber.SetActive(true);

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

usercontrol.GetComponent(CarController).enabled = true;

или

usercontrol.GetComponent<CarController>().enabled = true;

Ни одно из этих сообщений не является успешным, так как сообщение об ошибке:

Assets / CountDown.cs (41,34): ошибка CS0103: имя `CarController 'не существует в текущем контексте

Но это имя скрипта в GameObject, который я хочуenable.

Есть идеи, как это исправить?

Если это помогает, автомобиль взят из стандартных активов, и поэтому я хочу включить сценарий Car Controller на ходу.

1 Ответ

0 голосов
/ 28 февраля 2019

Если вы пропустили оператор using

using UnityStandardAssets.Vehicles.Car;

, убедитесь, что вы используете второй

usercontrol.GetComponent<CarController>().enabled = true;

, для первого из них потребуется либовместо строки, например,

usercontrol.GetComponent("CarController").enabled = true;

или использования typeof, например

usercontrol.GetComponent(typeof(CarController)).enabled = true;

, проверьте GetComponent API

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