Eine Komponente hinzufügen
Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 32 von 67.
gameObject.AddComponent<T>() fügt dem Objekt während des Spiels eine neue Komponente vom Typ T hinzu und gibt sie zurück, damit du sie in den nächsten Zeilen einrichten kannst. Sie gehört zum GameObject, auf das ein Skript über gameObject zugreift. Dieses Lagerfeuer spendet sich selbst ein warmes orangefarbenes Licht, wenn das Spiel startet:
void Start()
{
Light glow = gameObject.AddComponent<Light>();
glow.color = new Color(1f, 0.5f, 0f);
glow.intensity = 2f;
}Eine auf diese Weise hinzugefügte Komponente bleibt bestehen, solange das Spiel läuft. Beende den Play-Modus, und das Objekt ist wieder so, wie es in der Szene gespeichert wurde – ohne Light. Auch deine eigenen Skripte sind Komponenten: gameObject.AddComponent<Spinner>() fügt einen Spinner hinzu, der wie jedes andere Skript ausgeführt wird.
Die meisten Komponenten können mehr als einmal hinzugefügt werden, manche jedoch nicht: Ein Objekt kann höchstens einen Rigidbody enthalten, und wenn du einen zweiten anforderst, erscheint stattdessen ein Fehler in der Console. Code, der mehr als einmal ausgeführt werden kann, prüft vor dem Hinzufügen, ob das Objekt die Komponente bereits hat.
Aufgabe
MittelDie Kokosnuss hängt in der Palme. Durch Drücken der Leertaste wird der Baum geschüttelt: Die Kokosnuss erhält ein Rigidbody, sodass die Schwerkraft sie erfasst und sie in den Sand fällt.
- Vor dem ersten Drücken der Leertaste hängt die Kokosnuss an ihrer Stelle.
- Die Leertaste fügt nur dann ein Rigidbody hinzu, wenn die Kokosnuss noch keines hat, sodass spätere Tastendrücke nichts bewirken.
Drücke Play, drücke die Leertaste und dann Check.
Probier es selbst
using UnityEngine;
public class CoconutDrop : MonoBehaviour
{
void Update()
{
// Space: Füge einen Rigidbody hinzu, falls die Kokosnuss noch keinen hat
}
}
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