love.window.showMessageBox (Русский)

Available since LÖVE 0.9.2
This function is not supported in earlier versions.

Отображения диалогового окна поверх LOVE окна. Диалоговое окно содержит заголовок, текст и кнопки.

O.png Эта функция останавливает выполнение основного потока пока пользователь не нажмёт на одну из кнопок диалогового окна. Вызов этой функции из другого потока приводит к падению приложения.  

Функция

Создание простого окна с одной кнопкой "OK"

Вид

success = love.window.showMessageBox( title, message, type, attachtowindow )

Аргументы

string (Русский) title
Заголовок окна.
string (Русский) message
Текст, расположенный внутри окна.
MessageBoxType (Русский) type ("info")
Тип диалогового окна
boolean (Русский) attachtowindow (true)
Привязка диалогового окна к основному LOVE окну.

Возвращает

boolean success
Если функция вернула true, то диалог был отображён успешно.

Функция

Окно с настраиваемым списком кнопок.

Вид

pressedbutton = love.window.showMessageBox( title, message, buttonlist, type, attachtowindow )

Arguments

string (Русский) title
Заголовок окна.
string (Русский) message
Текст, расположенный внутри окна.
table (Русский) buttonlist
Таблица со списком кнопок. Эта таблица может содержать поля enterbutton и escapebutton, при нажатии 'enter' или 'escape' пользователем функция вернёт соответствующие им индексы кнопок.
MessageBoxType (Русский) type ("info")
Тип диалогового окна.
boolean (Русский) attachtowindow (true)
Привязка диалогового окна к основному LOVE окну.

Возвращает

number (Русский) pressedbutton
Индекс нажатой кнопки. При нажатии кнопки закрытия диалога он будет равен 0.

Примеры

Отображение простого диалога, если система пользователя не поддерживает шейдеры.

local errortitle = "Shader support is required for the game to run"
local errormessage = "This system is below the minimum system requirements for the game.\
If your graphics drivers aren't up-to-date, try updating them and running the game again."
 
if not love.graphics.isSupported("shader") then
    love.window.showMessageBox(errortitle, errormessage, "error")
end

Диалоговое окно с настраиваемыми кнопками

local title = "Это заголовок"
local message = "Какой-то текст"
local buttons = {"ОК", "Нет!", "Помощь", escapebutton = 2}
 
local pressedbutton = love.window.showMessageBox(title, message, buttons)
if pressedbutton == 1 then
    -- Кнопка "OK" нажата
elseif pressedbutton == 2 then
    -- Нажата кнопка "Нет!"
end

Смотрите также

Другие языки