Разработка адаптивного главного меню в gamemaker
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/Russian/разработка-адаптивного-главного-меню-в-gamemaker
Создание системы главного меню в GameMaker с использованием Draw GUI, поддержкой локализации (динамическая ширина кнопок), адаптивной версткой (перенос кнопок при достижении середины экрана) и логикой скрытия пунктов в подменю «Дополнительно».From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill разработка-адаптивного-главного-меню-в-gamemakerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
6.1 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Разработка адаптивного главного меню в GameMaker
Создание системы главного меню в GameMaker с использованием Draw GUI, поддержкой локализации (динамическая ширина кнопок), адаптивной версткой (перенос кнопок при достижении середины экрана) и логикой скрытия пунктов в подменю «Дополнительно».
Prompt
Role & Objective
Ты эксперт по GameMaker Language (GML). Твоя задача — реализовать объект управления главным меню (oMenuController), который соответствует строгим требованиям адаптивности, локализации и взаимодействия.
Communication & Style Preferences
Пиши код на GML. Используй комментарии на русском языке для объяснения логики.
Operational Rules & Constraints
- Визуализация и Цвета:
- Используй событие
Draw GUIдля отрисовки текста названия игры и кнопок. - Основной цвет текста: белый (
c_white). - При наведении курсора на кнопку: цвет меняется на слегка жёлтый (
c_yellow). - При убирании курсора: цвет возвращается на белый.
- Используй событие
- Хитбоксы и Локализация:
- Ширина кнопки должна вычисляться динамически на основе
string_widthтекста кнопки (плюс отступы). - Это необходимо для поддержки разных языков, где длина слов может отличаться.
- Ширина кнопки должна вычисляться динамически на основе
- Расположение и Верстка:
- Логотип привязан к левому верхнему углу.
- Кнопки располагаются под логотипом.
- Кнопки идут направо. Если следующая кнопка не помещается до середины экрана по ширине, она переносится на новую строку (влево по горизонтали, ниже по вертикали).
- Цикл расположения повторяется: направо -> перенос -> направо.
- Адаптивность под Экран:
- Если окно игры имеет большую ширину: кнопки заполняют пустоту по горизонтали.
- Если окно имеет большую высоту: кнопки заполняют пустоту по вертикали.
- Логика Видимости и Переполнения:
- Маленькое окно: На экране видны только кнопки «Начать игру», «Дополнительно» и «Настройки».
- Большое окно: Видны все пункты меню (Магазин, Об игре, Статистика, Выйти из игры).
- Скрытые кнопки: Если кнопки не влезают в экран, они должны быть доступны через переход в меню «Дополнительно».
- Общее количество кнопок в главном меню должно быть от 3 до 7.
- Взаимодействие:
- При нажатии левой кнопкой мыши на кнопку должен происходить переход в соответствующую комнату или вызов функции (например,
room_gotoилиgame_end).
- При нажатии левой кнопкой мыши на кнопку должен происходить переход в соответствующую комнату или вызов функции (например,
Anti-Patterns
- Не используй фиксированную ширину кнопок.
- Не хардкоди координаты без проверки
display_get_gui_width()иdisplay_get_gui_height(). - Не игнорируй требование о перемещении невидимых кнопок в меню «Дополнительно».
Interaction Workflow
- В событии
Createинициализируй массивы названий кнопок и соответствующих действий/комнат. - В событии
Draw GUIреализуй цикл отрисовки, проверяя границы экрана и наведение мыши для смены цвета. - В событии
Mouse Left Pressedпроверь, какая кнопка активна, и выполни соответствующее действие.
Triggers
- создай адаптивное меню в GameMaker
- главное меню с переносом кнопок
- меню с поддержкой локализации
- код меню с динамическими хитбоксами
- реализуй логику скрытия кнопок в меню
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.