Всплывающие окна/Окна с сообщениями

Материал из Вики по GameMaker
Перейти к: навигация, поиск
Эта страница была перенесена сюда из справки GM8. Проект переноса справки в вики отменён. Документация будет построена в другом формате: это будут отдельные статьи по каждой функции, объединённые в категории. Подробности — на портале сообщества.
Существующие страницы справки GM8 подлежат удалению. Не переносите в вики новые страницы из справки!
← Всплывающие окна/Заставки     ↰ Всплывающие окна     Всплывающие окна/Таблицы рекордов →

Чтобы показать всплывающий диалог, используйте следующие функции:

show_message(str) выводит окно сообщения с текстом str.
show_message_ext(str, but1, but2, but3) выводит диалоговое окно с текстом str и тремя кнопками. Аргументы but1, but2 и but3 — надписи на кнопках. Чтобы убрать одну из кнопок, впишите пустую строку. Чтобы сделать один из символов мнемонической клавишей (обозначаются подчёркиванием, например, «Сохранить»), поставьте перед ней символ &. Функция возвращает номер нажатой клавиши (0, если игрок нажмёт Esc).
show_question(str) выводит окно с вопросом. Возвращает истину в случае утвердительного ответа пользователя.
get_integer(str, def) выводит окно с текстом str и полем для ввода числа. def — число в поле по умолчанию. Функция возвращает введённое число.
get_string(str, def) выводит окно с текстом str и полем для ввода строки. def — строка в поле по умолчанию. Функция возвращает введённую строку.
message_background(back) задаёт фон всплывающих диалогов. К сожалению, альфа-значения не работают. Но если левый нижний пиксель фона будет иметь непрозрачность 0, все пиксели этого цвета будут считаться прозрачными.
message_alpha(alpha) задаёт непрозрачность всплывающих диалогов. 0 — полностью прозрачный, 1 — полностью непрозрачный.
message_button(spr) задаёт спрайт кнопки во всплывающих диалогах. Спрайт должен состоять из трёх кадров для трёх состояний кнопки: обычное, при наведении курсора и при нажатии. К сожалению, альфа-значения не работают. Но если левый нижний пиксель спрайта будет иметь непрозрачность 0, все пиксели этого цвета будут считаться прозрачными.
message_text_font(name, size, color, style) задаёт шрифт диалогов (один из шрифтов Windows, а не из шрифтовых ресурсов!). Аргумент style указывает начертание шрифта: 0 — обычный, 1 — жирный, 2 — курсив, 3 — жирный курсив.
message_button_font(name, size, color, style) задаёт шрифт кнопок диалогов.
message_input_font(name, size, color, style) задаёт шрифт полей ввода диалогов.
message_text_charset(type, charset) задаёт набор символов, используемый в диалогах. Аргумент type — элемент диалогового окна, которому вы присваиваете этот набор:
text_type,
button_type,
input_type.

Аргумент charset — один из стандартных наборов символов Windows:

ANSI_CHARSET,
DEFAULT_CHARSET,
EASTEUROPE_CHARSET,
RUSSIAN_CHARSET,
SYMBOL_CHARSET,
SHIFTJIS_CHARSET,
HANGEUL_CHARSET,
GB2312_CHARSET,
CHINESEBIG5_CHARSET,
JOHAB_CHARSET,
HEBREW_CHARSET,
ARABIC_CHARSET,
GREEK_CHARSET,
TURKISH_CHARSET,
VIETNAMESE_CHARSET,
THAI_CHARSET,
MAC_CHARSET,
BALTIC_CHARSET,
OEM_CHARSET.
message_mouse_color(col) задаёт цвет надписей на кнопках при наведении курсора.
message_input_color(col) задаёт цвет фона поля ввода.
message_caption(show, str) задаёт заголовок всплывающего окна. Заголовок отображается только при условии, что границы окна отображаются.
message_position(x,y) задаёт позицию всплывающего окна на экране. Чтобы разместить его по центру, укажите значения -1, -1.
message_size(w,h) задаёт размер всплывающего окна. Если в качестве ширины указать -1, она будет соответствовать ширине назначенного окну фонового изображения. Если в качестве высоты указать -1, окно будет выставлять высоту в зависимости от количества строк в сообщении.
show_menu(str, def) показывает стандартное контекстное меню в позиции мыши. Аргумент str — строка меню, состоящая из элементов, разделённых вертикальной чертой, например: "Вырезать|Копировать|Вставить". Функция возвращает номер выбранного пункта, начиная с нуля. Если игрок не выбрал ни одного пункта, функция возвращает def.
show_menu_pos(x,y,str,def) показывает контекстное меню в указанной позиции.
get_color(defcol) показывает диалог выбора цвета. Аргумент defcol — цвет по умолчанию. Функция возвращает код выбранного цвета. Если игрок не выбрал никакого цвета, функция возвращает -1.
get_open_filename(filter, fname) показывает диалог открытия файла. Тип файла можно ограничить фильтром, который имеет следующий вид: "название1| маска1| название2| маска2|...". Маска может быть, к примеру, такой: "растровые изображения|*.bmp;*.wmf". Функция возвращает полное имя файла или пустую строку, если игрок закроет диалог.
get_save_filename(filter, fname) показывает диалог сохранения файла. Функция возвращает полное имя файла или пустую строку, если игрок закроет диалог.
get_directory(dname) показывает диалог выбора папки. Функция возвращает полное имя папки или пустую строку, если игрок закроет диалог.
get_directory_alt(capt, root) показывает альтернативный диалог выбора папки. Аргумент capt — заголовок диалога. Аргумент root — изначальная папка. Чтобы показать всё дерево, используйте пустую строку. Функция возвращает полное имя папки или пустую строку, если игрок закроет диалог.
show_error(str, abort) показывает стандартное сообщение об ошибке (и/или пишет её в логе). Аргумент abort указывает, нужно ли закрыть игру.
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты