Onready
Parte de la sección Nodos y escenas del Journey de Godot de Coddy. Lección 21 de 27.
Escribir $Face/Eyes en cada fotograma busca el nodo 60 veces por segundo. Es mejor encontrarlo una vez y guardarlo en una variable.
Las variables al principio de un script se crean cuando se crea el nodo. Sus hijos aún no están adjuntos, así que $Face/Eyes no encontraría nada y Godot no iniciará el juego. Pon @onready delante y Godot asignará el valor a la variable cuando el nodo esté listo, justo antes de que se ejecute _ready():
@onready var mouth = $Face/Mouth
func _ready():
mouth.position.y += 2Después de eso, mouth es el nodo en cada función del script.
Desafío
FácilCrea un robot mareado:
- Guarda los ojos en una variable:
@onready var eyes = $Face/Eyes. - En
_process(), giraeyesen sentido horario, media vuelta por segundo. Los ojos giran alrededor del centro de la cara y el robot permanece quieto.
Pruébalo tú mismo
extends Node2D
func _process(delta):
pass
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Nodos y escenas
Practica por tu cuenta: Playground de Godot