Menu
CoddyTech

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 += 2

Danach ist mouth der Knoten in jeder Funktion des Skripts.

challenge icon

Aufgabe

Einfach

Erstelle einen schwindeligen Roboter:

  • Speichere die Augen in einer Variablen: @onready var eyes = $Face/Eyes.
  • Drehe in _process() eyes im 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
quiz iconTeste dich selbst

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