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.
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
1Dein erstes Skript
Hallo, UnityPlatziere den WürfelBewege dich in jedem FrameDrehe dich jede SekundeSteuere mit den TastenRückblick: Steuere den Würfel4Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist ein StructRückblick: Drohnenpilot7Projekt: Fang den Stern
Der FängerEin fallender Stern10Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle Logger5Transformationen und Hierarchie
Eltern und KinderSkalierungDinge ansehenAuf einen Punkt zubewegenRückblick: Umlaufender Mond8Dinge finden
Nach Namen findenTagsNach Typ findenReferenzen schlagen FindUnitys NullRückblick: Nächste Münze11Projekt: Weiche den Blöcken aus
Der LäuferFallende Blöcke6GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter