Onready
Часть раздела Узлы и сцены путешествия по Godot на Coddy. Урок 21 из 28.
Обращение к $Face/Eyes в каждом кадре приводит к поиску узла 60 раз в секунду. Лучше найти его один раз и сохранить в переменной.
Переменные в начале скрипта создаются, когда узел создан. Его дочерние узлы ещё не присоединены, поэтому $Face/Eyes ничего не найдёт, и Godot не запустит игру. Добавьте @onready перед объявлением, и Godot присвоит значение переменной, когда узел будет готов, прямо перед выполнением _ready():
@onready var mouth = $Face/Mouth
func _ready():
mouth.position.y += 2После этого mouth будет обозначать узел во всех функциях скрипта.
Задание
ЛегкоСделай робота с головокружением, у которого вращаются глаза.
- В начале скрипта сохрани глаза в переменной:
@onready var eyes = $Face/Eyes. - В
_process()вращайeyesпо часовой стрелке на пол-оборота (180градусов) каждую секунду.
Нажми «Играть»: глаза вращаются вокруг центра лица, а робот остается неподвижным. Затем нажми «Проверить».
Попробуйте сами
extends Node2D
func _process(delta):
pass
Все уроки раздела Узлы и сцены
Потренируйтесь самостоятельно: Песочница Godot