In Unity 5.4/5.5 habe ich ein Problem mit GetComponent, das den CharacterController meines GameObject aus irgendeinem Grund nicht zurückgibt. Nachdem ich Unity neu gestartet habe, funktioniert es wieder.GetComponent gibt null zurück
_MAIN läuft dieses Skript:
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
}
}
Nachdem die controller
in Update verwiesen wird, erhalte ich die Fehlermeldung:
MissingComponentException: There is no 'CharacterController' attached to the "Frog" game object,
FYI, frog
ist die Gameobject Rückkehr in Ordnung .
Hast du ein anderes GameObject namens 'Frog' in deiner Szene? Schauen Sie genau hin ... Bitte fügen Sie auch den vollständigen Code, wie Sie es verwenden, in die Update-Funktion ein – Programmer
Der Code stoppt bei 'if (controller.isGrounded) {' in Update. – Tom
Sie können die Update-Funktion in Ihre Frage setzen – Programmer