В Unity 5.4/5.5 у меня возникла проблема с GetComponent, которая почему-то не возвращает CharacterController моего GameObject. После перезапуска Unity он снова работает.GetComponent return null
_MAIN запускает этот скрипт:
private GameObject frog;
private CharacterController controller;
void Start() {
frog = GameObject.Find ("Frog");
controller = frog.GetComponent<CharacterController>();
Debug.Log(controller); // returns null
}
void Update() {
if (controller.isGrounded) {
// error is thrown
}
}
После controller
упоминается в обновлении, я получаю ошибку:
MissingComponentException: There is no 'CharacterController' attached to the "Frog" game object,
FYI, frog
возвращается в GameObject просто отлично ,
У вас есть другой GameObject под названием «Frog» в вашей сцене? Посмотрите внимательно ... Кроме того, пожалуйста, укажите полный код того, как вы его используете в функции Update. – Programmer
Код останавливается на 'if (controller.isGrounded) {' in Update. – Tom
Вы можете поместить функцию обновления в свой вопрос – Programmer