Соберём простое главное меню с кнопками Play и Settings, плавной анимацией появления/скрытия и переходом между экранами меню. Логика главного меню (MainMenu → MenuPanel → LocalScript) Логика экрана настроек (MainMenu → SettingsPanel → LocalScript) Пример простого «пампа» для кнопки: #roblox #lua 💬Telegram | 📹YouTube | 💳Boosty
Соберём простое главное меню с кнопками Play и Settings, плавной анимацией появления/скрытия и переходом между экранами меню. Логика главного меню (MainMenu → MenuPanel → LocalScript) Логика экрана настроек (MainMenu → SettingsPanel → LocalScript) Пример простого «пампа» для кнопки: #roblox #lua 💬Telegram | 📹YouTube | 💳Boosty
...Читать далее
Оглавление
Что делаем
Соберём простое главное меню с кнопками Play и Settings, плавной анимацией появления/скрытия и переходом между экранами меню.
Подготовка в Roblox Studio
- В StarterGui создайте ScreenGui → назовите MainMenu.
В свойствах: IgnoreGuiInset = true, ResetOnSpawn = false. - Внутри MainMenu добавьте Frame → MenuPanel (центр экрана):
AnchorPoint = (0.5, 0.5), Position = 0.5,0.5 (Scale), Size = {0, 420}×{0, 300}
Для красоты добавьте UICorner, UIListLayout (вертикально, отступы 8–12 px). - Внутри MenuPanel создайте две кнопки TextButton: PlayButton («Play») и SettingsButton («Settings»).
- Рядом создайте второй фрейм SettingsPanel (тот же центр, Visible = false) с парой элементов (например, TextLabel «Settings» и TextButton BackButton «Back»).
- В ReplicatedStorage добавьте ModuleScript с утилитами анимации (назовём NavTween).
- В MenuPanel добавьте LocalScript (логика главного меню). Во SettingsPanel — ещё один LocalScript (кнопка «Назад»).
Модуль для анимации переходов (ReplicatedStorage → ModuleScript NavTween)
Логика главного меню (MainMenu → MenuPanel → LocalScript)
Логика экрана настроек (MainMenu → SettingsPanel → LocalScript)
(Опционально) Небольшой полиш для UX
- Добавьте в ScreenGui UIScale и выставьте коэффициент 1.0–1.25 для удобного чтения на мобильных.
- На кнопки повесьте hover/press-эффекты через TweenService: изменение BackgroundColor3 и лёгкий «памп» Size.
- Ставьте единый паддинг и отступы (через UIPadding, UIListLayout).
- В SoundService добавьте звуки кликов и вызовите :Play() при нажатии.
Пример простого «пампа» для кнопки:
Что показать в видео (идея для «Видео + код»)
- Создание ScreenGui, MenuPanel, SettingsPanel, кнопок.
- Подключение модульной анимации (NavTween).
- Переходы: Play прячет меню, Settings открывает настройки, Back возвращает.
- Короткий UX-полиш: анимация кнопок, звуки.
Расширение
- Добавьте вкладки в SettingsPanel (звук/графика/управление) — переключайте Visible и анимируйте фреймы.
- Храните настройки локально через Set/GetAttribute на PlayerGui, а глобально — в DataStoreService (для прогресса/настроек профиля).
- Для больших проектов вынесите навигацию в один ModuleScript и обращайтесь из разных экранов.
#roblox #lua