Menu
CoddyTech

RequireComponent

Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 33 von 67.

[RequireComponent(typeof(Rigidbody))], oberhalb der Klasse eines Skripts geschrieben, weist Unity an, dass das Skript ohne ein Rigidbody am selben Objekt nicht funktionieren kann:

[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
    Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}

Unity reagiert darauf, wenn das Skript einem Objekt hinzugefügt wird, im Inspector oder mit AddComponent: Hat das Objekt kein Rigidbody, fügt Unity eines hinzu. Solange Jumper am Objekt ist, lässt der Inspector nicht zu, dieses Rigidbody zu entfernen. Daher findet GetComponent hier immer eines, und Jumper benötigt keine Prüfung.

Das Attribut wirkt nicht rückwirkend: Objekte, die Jumper bereits hatten, bevor die Zeile geschrieben wurde, erhalten erst dann ein Rigidbody, wenn das Skript entfernt und erneut hinzugefügt wird. Ein Attribut kann bis zu drei Typen angeben, wie in [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], und eine Klasse kann mehrere solcher Attribute haben.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen des Scripting in Unity