На телефоне можно читать урок вертикально. Для кода и интерактивных заданий удобнее повернуть экран горизонтально.
Урок 002
002. Первый скрипт
Прикрепляем GDScript к Node2D, создаём файл scripts/main.gd, пишем _ready(), выводим сообщение через print() и проверяем результат в Output.
Что изучаем
В этом уроке мы впервые прикрепляем GDScript к ноде. Код будет маленький: он выводит сообщение в Output.
Но момент важный. С этого начинается поведение игры: сцена перестаёт быть просто набором объектов и получает первую команду.
Зачем нужен скрипт
Без скриптов сцена просто хранит объекты. Она знает, какие ноды есть внутри, как они называются и где находятся.
Скрипт делает объект живым: кнопка реагирует, персонаж двигается, монетка исчезает, таймер считает время. Сегодня мы начнём с самой маленькой реакции: вывести текст в Output.
Что получится
После запуска сцены в нижней панели Output появится сообщение:
Привет, Godot! Сцена запустилась.Это значит: сцена запустилась, Node2D была создана, Godot вызвал _ready(), а print() выполнился.
Пошагово в Godot
Идём короткими шагами: нажали, увидели, поняли, проверили. Не торопись переписывать код, сначала убедись, что выбран именно Node2D и путь к скрипту правильный.
Код урока
В файле scripts/main.gd оставляем такой код:
extends Node2D
func _ready() -> void:
print("Привет, Godot! Сцена запустилась.")Разбор кода
extends Node2D
Скрипт прикреплён к Node2D и расширяет её поведение.
func _ready() -> void:
Это специальная функция Godot. Она вызывается, когда нода готова к работе.
print(...)
Выводит сообщение в нижнюю панель Output. Это не текст на игровом экране, а отладочный вывод для разработчика.
Важный шаг: Ctrl + S
После изменения скрипта нажми Ctrl + S. Это сохраняет файл скрипта. Если забыть сохранить файл, можно запустить старую версию кода или запутаться.
Что происходит при запуске
- Мы запускаем сцену.
- Godot создаёт Node2D.
- Godot видит, что к Node2D прикреплён main.gd.
- Нода входит в дерево сцены.
- Когда нода готова, Godot вызывает _ready().
- Внутри _ready() выполняется print().
- Текст появляется в Output.
Частые ошибки
- забыли выбрать Node2D перед Attach Script;
- сохранили скрипт не в scripts/main.gd;
- не нажали Ctrl + S после изменения кода;
- написали ready() вместо _ready();
- ждут текст в окне игры, хотя print() выводит текст в Output;
- нарушили отступ внутри функции.
Плохо:
func _ready() -> void:
print("Привет")Хорошо:
func _ready() -> void:
print("Привет")Маленькое задание
Измени текст внутри print(), сохрани файл через Ctrl + S и запусти сцену снова.
extends Node2D
func _ready() -> void:
print("Мой первый скрипт работает!")Следующий шаг
В следующем уроке мы добавим первый видимый объект — Sprite2D. Сейчас скрипт только пишет сообщение в Output, а дальше мы увидим объект на экране и начнём менять его свойства через Inspector и код.