Menu
CoddyTech

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

Después, mouth será el nodo disponible en cada función del script.

challenge icon

Desafío

Fácil

Haz un robot mareado cuyos ojos giren.

  1. Al principio del script, guarda los ojos en una variable: @onready var eyes = $Face/Eyes.
  2. En _process(), haz girar eyes en sentido horario, media vuelta (180 grados) 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