Onready
Teil des Abschnitts Nodes und Szenen der Godot-Journey von Coddy. Lektion 21 von 27.
Bei jedem Frame nach $Face/Eyes zu suchen, bedeutet, den Knoten 60-mal pro Sekunde zu suchen. Es ist besser, ihn einmal zu finden und in einer Variable zu speichern.
Variablen am Anfang eines Skripts werden erstellt, wenn der Knoten erstellt wird. Seine untergeordneten Knoten sind noch nicht angehängt, daher würde $Face/Eyes nichts finden, und Godot würde das Spiel nicht starten. Setze @onready davor, und Godot weist der Variable ihren Wert zu, wenn der Knoten bereit ist, direkt bevor _ready() ausgeführt wird:
@onready var mouth = $Face/Mouth
func _ready():
mouth.position.y += 2Danach ist mouth der Knoten in jeder Funktion des Skripts.
Aufgabe
EinfachErstelle einen schwindeligen Roboter:
- Speichere die Augen in einer Variablen:
@onready var eyes = $Face/Eyes. - Drehe in
_process()eyesim Uhrzeigersinn, eine halbe Umdrehung pro Sekunde. Die Augen kreisen um die Mitte des Gesichts, und der Roboter bleibt still.
Probier es selbst
extends Node2D
func _process(delta):
pass
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Nodes und Szenen
Übe selbstständig: Godot-Playground