Menu
CoddyTech
flag Ru iconРусскийdown icon

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 будет узлом во всех функциях скрипта.

challenge icon

Задание

Легко

Создай робота, у которого кружится голова:

  • Сохрани глаза в переменной: @onready var eyes = $Face/Eyes.
  • В _process() вращай eyes по часовой стрелке, на пол-оборота в секунду. Глаза вращаются вокруг центра лица, а робот остаётся неподвижным.

Попробуйте сами

extends Node2D

func _process(delta):
	pass
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Узлы и сцены

Потренируйтесь самостоятельно: Песочница Godot