Onready
Teil des Abschnitts Nodes und Szenen der Godot-Journey von Coddy. Lektion 21 von 28.
$Face/Eyes in jedem Frame zu schreiben, sucht 60-mal pro Sekunde nach dem Knoten. 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 Kinder 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 einen 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 schwindligen Roboter, dessen Augen sich drehen.
- Speichere die Augen oben im Skript in einer Variablen:
@onready var eyes = $Face/Eyes. - Lass
eyesin_process()im Uhrzeigersinn rotieren, jede Sekunde um eine halbe Umdrehung (180Grad).
Drücke auf „Spielen“: Die Augen kreisen um die Mitte des Gesichts, und der Roboter bleibt still. Drücke dann auf „Prüfen“.
Probier es selbst
extends Node2D
func _process(delta):
pass
Alle Lektionen in Nodes und Szenen
Übe selbstständig: Godot-Playground