Die Reihenfolge im Lebenszyklus
Teil des Abschnitts Unity-Scripting: Grundlagen der Unity-Journey von Coddy. Lektion 73 von 85.
Unity ruft die Methoden eines Skripts in einer festen Reihenfolge auf – von dem Moment an, in dem sein Objekt erscheint, bis zu dem Moment, in dem es zerstört wird:
Awake(): einmal, wenn das Objekt geladen oder erzeugt wird.OnEnable(): direkt danach und erneut jedes Mal, wenn das Objekt eingeblendet wird.Start(): einmal, vor dem ersten Frame des Skripts.FixedUpdate(): im Physiktakt standardmäßig 50-mal pro Sekunde, also null-, ein- oder mehrmals pro Frame, immer vor demUpdate()dieses Frames.Update(): einmal pro Frame.LateUpdate(): einmal pro Frame, nach jedemUpdate().OnDisable(): jedes Mal, wenn das Objekt ausgeblendet wird, und bevor es zerstört wird.OnDestroy(): einmal, wenn das Objekt zerstört wird.
Die Schritte 4 bis 6 wiederholen sich in jedem Frame, solange das Objekt aktiv ist. Ein erzeugtes Objekt durchläuft dieselbe Liste: Instantiate führt Awake() und OnEnable() der Kopie aus, bevor der Aufruf zurückkehrt, und Start() der Kopie wird vor ihrem ersten Update() aufgerufen.
Aus dieser Reihenfolge ergeben sich zwei Gewohnheiten. Code in Awake() richtet die eigenen Felder eines Objekts rechtzeitig für das Start() jedes anderen Objekts ein. Und Physikcode gehört in FixedUpdate(), dessen Schritte immer 0.02 Sekunden auseinanderliegen, egal wie schnell oder langsam die Frames kommen.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Alle Lektionen in Unity-Scripting: Grundlagen
1C#-Grundlagen in Unity
Hallo, UnityVariablenDezimalzahlen brauchen ein fText in der KonsoleVariablen, die sich etwas merkenIf und ElseZahlen vergleichenRückblick: Münzsammler7Schleifen und Methoden
Wiederholen mit forSchleifen in SchleifenEine Methode schreibenMethoden mit RückgabewertArraysRückblick: Treppe10Dinge finden
Nach Namen suchenTagsNach Typ suchenReferenzen schlagen SuchenUnitys NullRückblick: nächste Münze13Projekt: Weiche den Blöcken aus
Der LäuferBlöcke vom Himmel2Bring es in Bewegung
Platziere den WürfelBewege ihn in jedem FrameDrehe ihn jede SekundeSteuere mit den TastenRückblick: Fahre den Würfel5Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist eine StrukturRückblick: Drohnenpilot8GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter11Prefabs und Erzeugen von Instanzen
Prefabs und InstantiateNach Zeitintervall erzeugenIn einem Raster erzeugenListen von ObjektenDas Neueste zurücknehmenZerstörenZufälliges ErzeugenRückblick: Feuerwerk14Abschließende Herausforderungen
MünzmagnetDie Straße überquerenStraßenverkehrTurmbauerLanden oder verfehlen3Der Inspector
Inspector-FelderSerializeFieldFließkommazahlen und MathfInspector-AttributeRückblick: Aufzug6Transformationen und Hierarchie
Eltern und KinderHisse die FlaggeSkalierungDinge anschauenAuf einen Punkt zubewegenRückblick: Mond in Umlaufbahn9Projekt: Fang den Stern
Der FängerEin fallender Stern12Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle LoggerÜbe selbstständig: Unity-Playground