Onready
Parte de la sección Nodos y escenas del Journey de Godot de Coddy. Lección 21 de 28.
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á un 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, mouth será el nodo disponible en cada función del script.
Desafío
FácilHaz un robot mareado cuyos ojos giren.
- Al principio del script, guarda los ojos en una variable:
@onready var eyes = $Face/Eyes. - En
_process(), haz girareyesen sentido horario, media vuelta (180grados) por segundo.
Pulsa «Jugar»: los ojos dan vueltas alrededor del centro de la cara y el robot permanece quieto. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Node2D
func _process(delta):
pass
Todas las lecciones de Nodos y escenas
Practica por tu cuenta: Playground de Godot