Как сделать меню и кнопку в Godot 4: главное меню и пауза
🎁 +100% к первому пополнению в LeanTech AI — до конца акции --:--:-- Забрать бонус →
Меню
Попробовать ИИ-агент

Как сделать кнопку и меню в Godot: главное меню, переход в игру и пауза

Интерфейс в Godot собирается из узлов Control, а кнопка работает через сигнал. Разбираем главное меню с кнопками «Играть» и «Выход» и меню паузы поверх игры.

Обновлено 29.09.2026 · Блог Godot

Сцена меню

Создайте новую сцену и в качестве корня выберите User Interface — появится узел Control. На верхней панели в меню Anchor Preset выберите Full Rect, чтобы меню растягивалось на весь экран.

Кнопки удобнее не расставлять вручную, а сложить в контейнер. Добавьте VBoxContainer — он выстроит дочерние элементы столбиком, — и поставьте ему пресет Center. Внутрь добавьте несколько узлов Button и в инспекторе в поле Text напишите «Играть», «Настройки», «Выход».

Как заставить кнопку работать

Прикрепите скрипт к корню

Выделите узел Control и создайте скрипт, например main_menu.gd.

Подключите сигнал

Выделите кнопку, откройте справа вкладку Node → Signals, дважды щёлкните по pressed() и выберите корневой узел. Godot создаст функцию вида _on_play_pressed.

Напишите действие

Внутри функции перехода в игру: get_tree().change_scene_to_file("res://level.tscn"). Для кнопки выхода — get_tree().quit().

Назначьте главную сцену

Project → Project Settings → Application → Run → Main Scene: укажите сцену меню, чтобы игра начиналась с неё.

Оформление: тема, шрифт, отступы

Внешний вид всех кнопок разом задаётся темой. У корневого Control в поле Theme создайте New Theme — внизу откроется редактор, где можно поменять шрифт, цвета и отступы для типа Button. Кириллический шрифт TTF или OTF просто перетащите в проект и укажите в теме.

Расстояние между кнопками в VBoxContainer задаётся в Theme Overrides → Constants → Separation. Для экранов разных размеров проверьте Project Settings → Display → Window → Stretch Mode: для большинства 2D-игр подходит canvas_items.

Меню паузы

Сделайте отдельную сцену с кнопками «Продолжить» и «В меню» и добавьте её на уровень внутри CanvasLayer, чтобы меню не двигалось вместе с камерой. По умолчанию спрячьте её свойством Visible.

Пауза ставится строкой get_tree().paused = true. Чтобы само меню паузы при этом не замерло, у его корня в инспекторе выставьте Process → Mode → Always. По нажатию Esc показывайте меню и ставьте паузу, по кнопке «Продолжить» — наоборот.

Частые ошибки

  • Кнопка не нажимается — сверху лежит другой Control с Mouse Filter в режиме Stop. Поставьте ему Ignore.
  • Ошибка при смене сцены — неверный путь. Скопируйте его правым щелчком по файлу в FileSystem → Copy Path.
  • Меню не реагирует во время паузы — не выставлен Process Mode Always.
  • Кнопки расползаются на другом разрешении — они стоят вне контейнера или без якорей.

Экран настроек: громкость и полный экран

Ползунок громкости — узел HSlider с диапазоном от 0 до 1. Подключите его сигнал value_changed и передайте значение в звуковую шину: AudioServer.set_bus_volume_db(0, linear_to_db(value)). Для отдельной громкости музыки и эффектов заведите шины Music и SFX на нижней вкладке Audio.

Переключатель полного экрана — CheckButton с сигналом toggled: в обработчике вызывайте DisplayServer.window_set_mode с режимом WINDOW_MODE_FULLSCREEN или WINDOW_MODE_WINDOWED. Чтобы настройки не сбрасывались при каждом запуске, сохраняйте их в файл через класс ConfigFile в папку user://.

Когда быстрее через ИИ-агента

Опишите ИИ-агенту LeanTech, какое меню нужно: пункты, настройки громкости, сохранение, пауза. Он распишет дерево узлов, напишет GDScript с сигналами и объяснит, куда что подключить. Иконки и фон для меню он сгенерирует картинками.

Агент не работает внутри редактора Godot и не соберёт сцену за вас — узлы вы добавляете сами по его плану.

🔥 Бонус +100% — осталось --:--:--

Нужен результат, как в Godot? Поставьте задачу агенту

Регистрация занимает меньше минуты. Без VPN, оплата картой РФ, старт без карты.

  • Десятки нейросетей на одном балансе — результат файлом
  • Оплата рублями, чек и закрывающие для юрлиц
  • +100% к первому пополнению до конца акции
LT LeanTech AIдоступ к десяткам нейросетей
🎁 +100% к первому пополнению
★★★★★4.8
Запустить ИИ-агент →

Частые вопросы

Как сделать кнопку в Godot?

Добавьте узел Button, задайте текст и подключите сигнал pressed к функции в скрипте.

Как перейти на другую сцену по кнопке?

В обработчике сигнала вызовите get_tree().change_scene_to_file с путём к файлу сцены.

Как сделать выход из игры в Godot?

Кнопка с сигналом pressed и строкой get_tree().quit() в обработчике.

Как сделать паузу в Godot?

get_tree().paused = true, а у меню паузы выставьте Process Mode Always, чтобы оно продолжало работать.

Как сделать кнопку с картинкой в Godot?

Используйте TextureButton: в инспекторе задайте текстуры для обычного состояния, наведения и нажатия.

Как управлять меню с клавиатуры и геймпада?

Вызовите grab_focus() у первой кнопки при открытии меню — дальше фокус переходит стрелками и крестовиной сам.

Ещё в блоге

Сайт является независимым русскоязычным справочником, не представляет владельца продукта и не выдаёт себя за официальный ресурс. Названия и товарные знаки принадлежат правообладателям. Кнопки «Запустить ИИ-агент» ведут в сервис LeanTech — отдельный продукт, который решает ту же задачу другим способом.

Нужен результат, а не программа?

ИИ-агент LeanTech принимает задачу словами, читает ваши файлы и отдаёт готовый результат файлом — без VPN и с оплатой картой РФ.

Поставить задачу агенту →