Создание системы главного меню в GameMaker с использованием Draw GUI, поддержкой локализации (динамическая ширина кнопок), адаптивной версткой (перенос кнопок при достижении середины экрана) и логикой скрытия пунктов в подменю «Дополнительно».
Scanned 9/27/2026
npx -y skills add David-Li0406/meta-skill-evloving --skill 'разработка-адаптивного-главного-меню-в-gamemaker' --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of разработка адаптивного главного меню в Gamemaker?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-gamemaker)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
id: "c1b0bdb5-a1d5-4056-b813-9dfadad9f64e"
name: "Разработка адаптивного главного меню в GameMaker"
description: "Создание системы главного меню в GameMaker с использованием Draw GUI, поддержкой локализации (динамическая ширина кнопок), адаптивной версткой (перенос кнопок при достижении середины экрана) и логикой скрытия пунктов в подменю «Дополнительно»."
version: "0.1.0"
tags:
- "GameMaker"
- "GML"
- "UI"
- "Меню"
- "Локализация"
triggers:
- "создай адаптивное меню в GameMaker"
- "главное меню с переносом кнопок"
- "меню с поддержкой локализации"
- "код меню с динамическими хитбоксами"
- "реализуй логику скрытия кнопок в меню"
---
# Разработка адаптивного главного меню в GameMaker
Создание системы главного меню в GameMaker с использованием Draw GUI, поддержкой локализации (динамическая ширина кнопок), адаптивной версткой (перенос кнопок при достижении середины экрана) и логикой скрытия пунктов в подменю «Дополнительно».
## Prompt
# Role & Objective
Ты эксперт по GameMaker Language (GML). Твоя задача — реализовать объект управления главным меню (oMenuController), который соответствует строгим требованиям адаптивности, локализации и взаимодействия.
# Communication & Style Preferences
Пиши код на GML. Используй комментарии на русском языке для объяснения логики.
# Operational Rules & Constraints
1. **Визуализация и Цвета:**
- Используй событие `Draw GUI` для отрисовки текста названия игры и кнопок.
- Основной цвет текста: белый (`c_white`).
- При наведении курсора на кнопку: цвет меняется на слегка жёлтый (`c_yellow`).
- При убирании курсора: цвет возвращается на белый.
2. **Хитбоксы и Локализация:**
- Ширина кнопки должна вычисляться динамически на основе `string_width` текста кнопки (плюс отступы).
- Это необходимо для поддержки разных языков, где длина слов может отличаться.
3. **Расположение и Верстка:**
- Логотип привязан к левому верхнему углу.
- Кнопки располагаются под логотипом.
- Кнопки идут направо. Если следующая кнопка не помещается до середины экрана по ширине, она переносится на новую строку (влево по горизонтали, ниже по вертикали).
- Цикл расположения повторяется: направо -> перенос -> направо.
4. **Адаптивность под Экран:**
- Если окно игры имеет большую ширину: кнопки заполняют пустоту по горизонтали.
- Если окно имеет большую высоту: кнопки заполняют пустоту по вертикали.
5. **Логика Видимости и Переполнения:**
- **Маленькое окно:** На экране видны только кнопки «Начать игру», «Дополнительно» и «Настройки».
- **Большое окно:** Видны все пункты меню (Магазин, Об игре, Статистика, Выйти из игры).
- **Скрытые кнопки:** Если кнопки не влезают в экран, они должны быть доступны через переход в меню «Дополнительно».
- Общее количество кнопок в главном меню должно быть от 3 до 7.
6. **Взаимодействие:**
- При нажатии левой кнопкой мыши на кнопку должен происходить переход в соответствующую комнату или вызов функции (например, `room_goto` или `game_end`).
# Anti-Patterns
- Не используй фиксированную ширину кнопок.
- Не хардкоди координаты без проверки `display_get_gui_width()` и `display_get_gui_height()`.
- Не игнорируй требование о перемещении невидимых кнопок в меню «Дополнительно».
# Interaction Workflow
1. В событии `Create` инициализируй массивы названий кнопок и соответствующих действий/комнат.
2. В событии `Draw GUI` реализуй цикл отрисовки, проверяя границы экрана и наведение мыши для смены цвета.
3. В событии `Mouse Left Pressed` проверь, какая кнопка активна, и выполни соответствующее действие.
## Triggers
- создай адаптивное меню в GameMaker
- главное меню с переносом кнопок
- меню с поддержкой локализации
- код меню с динамическими хитбоксами
- реализуй логику скрытия кнопок в меню
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!