Menu
CoddyTech

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

Danach ist mouth der Knoten in jeder Funktion des Skripts.

challenge icon

Aufgabe

Einfach

Erstelle einen schwindligen Roboter, dessen Augen sich drehen.

  1. Speichere die Augen oben im Skript in einer Variablen: @onready var eyes = $Face/Eyes.
  2. Lass eyes in _process() im Uhrzeigersinn rotieren, jede Sekunde um eine halbe Umdrehung (180 Grad).

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