Onready
Часть раздела Узлы и сцены путешествия по Godot на Coddy. Урок 21 из 27.
Запись $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по часовой стрелке, на пол-оборота в секунду. Глаза вращаются вокруг центра лица, а робот остаётся неподвижным.
Попробуйте сами
extends Node2D
func _process(delta):
pass
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Узлы и сцены
Потренируйтесь самостоятельно: Песочница Godot