Spec-Zone.ru › Pygame
pygame.display
модуль pygame для управления окном и экраном отображения

Этот модуль предоставляет управление отображением pygame. У pygame есть единственная поверхность отображения, которая либо находится в окне, либо работает в полноэкранном режиме. После создания отображения вы можете обращаться к нему как к обычной поверхности. Изменения не видны на экране немедленно; вы должны выбрать одну из двух функций переключения для обновления фактического отображения.

Начало отсчёта координат отображения, где x = 0 и y = 0, находится в левом верхнем углу экрана. Обе оси увеличиваются положительно в направлении правого нижнего угла экрана.

Модуль pygame отображения может быть инициализирован в нескольких режимах. По умолчанию отображение является базовым буфером кадра, управляемым программным обеспечением. Вы можете запросить специальные модули, такие как автоматическое масштабирование или поддержку OpenGL. Они контролируются флагами, передаваемыми в pygame.display.set_mode().

У pygame может быть только одно активное отображение в любое время. Создание нового с pygame.display.set_mode() закроет предыдущее отображение. Для определения количества и размера подключенных экранов вы можете использовать pygame.display.get_desktop_sizes, а затем выбрать соответствующий размер окна и индекс отображения, чтобы передать в pygame.display.set_mode().

Для обратной совместимости pygame.display позволяет точно контролировать формат пикселей или разрешения отображения. Это раньше было необходимо при работе со старыми графическими картами и CRT-экранами, но обычно больше не требуется. Используйте функции pygame.display.mode_ok(), pygame.display.list_modes(), и pygame.display.Info() для запроса подробной информации об отображении.

После создания поверхности отображения функции этого модуля влияют на единственное существующее отображение. Поверхность становится недоступной, если модуль не инициализирован. Если устанавливается новый режим отображения, существующая поверхность автоматически переключается на работу с новым отображением.

При установке режима отображения несколько событий помещаются в очередь событий pygame. pygame.QUIT отправляется, когда пользователь запросил завершение программы. Окно получит pygame.ACTIVEEVENT события по мере получения и потери окном фокуса ввода. Если отображение устанавливается с флагом pygame.RESIZABLE, pygame.VIDEORESIZE события будут отправлены, когда пользователь изменяет размеры окна. Аппаратные дисплеи, которые рисуют непосредственно на экране, получат pygame.VIDEOEXPOSE события, когда части окна необходимо перерисовать.

Новый API событий окон был представлен в pygame 2.0.1. См. документацию модуля событий для получения дополнительной информации об этом.

В некоторых средах отображения есть опция автоматического растяжения всех окон. При включенной этой опции автоматическое растяжение искажает внешний вид окна pygame. В каталоге примеров pygame есть пример кода (prevent_display_stretching.py), который показывает, как отключить это автоматическое растяжение отображения pygame в Microsoft Windows (требуется Vista или более поздняя версия).

pygame.display.init()
Инициализировать модуль отображения
init() -> None

Инициализирует модуль отображения pygame. Модуль отображения ничего не может сделать до тех пор, пока он не будет инициализирован. Это обычно обрабатывается автоматически, когда вы вызываете более высокий уровень pygame.init().

Pygame выберет один из нескольких внутренних бэкэндов отображения при инициализации. Режим отображения будет выбран в зависимости от платформы и разрешений текущего пользователя. Перед инициализацией модуля отображения системная переменная среды SDL_VIDEODRIVER может быть установлена для управления используемым бэкэндом. Системы с несколькими вариантами выбора перечислены здесь.

Windows : windib, directx
Unix    : x11, dga, fbcon, directfb, ggi, vgl, svgalib, aalib

На некоторых платформах можно встроить отображение pygame в уже существующее окно. Для этого переменная среды SDL_WINDOWID должна быть установлена в строку, содержащую идентификатор или дескриптор окна. Переменная среды проверяется при инициализации отображения pygame. Имейте в виду, что при работе во встроенном отображении могут быть многочисленные странные побочные эффекты.

Вызов этого более одного раза не приведёт к ошибкам, повторные вызовы не имеют эффекта.

pygame.display.quit()
Деинициализировать модуль отображения
quit() -> None

Это приведет к выключению всего модуля отображения. Это означает, что любые активные отображения будут закрыты. Это также будет обработано автоматически при выходе программы.

Вызов этого более одного раза не приведёт к ошибкам, повторные вызовы не имеют эффекта.

pygame.display.get_init()
Возвращает True, если модуль отображения был инициализирован
get_init() -> bool

Возвращает True, если модуль pygame.display в настоящее время инициализирован.

pygame.display.set_mode()
Инициализировать окно или экран для отображения
set_mode(size=(0, 0), flags=0, depth=0, display=0, vsync=0) -> Surface

Эта функция создаст поверхность отображения. Передаваемые аргументы являются запросами на тип отображения. Фактическое созданное отображение будет наилучшим возможным соответствием, поддерживаемым системой.

Обратите внимание, что вызов этой функции подразумевает инициализацию pygame.display, если она не была инициализирована ранее.

Аргумент size — это пара чисел, представляющих ширину и высоту. Аргумент flags — это набор дополнительных параметров. Аргумент depth представляет количество бит, используемых для цвета.

Возвращаемая поверхность может быть использована для рисования, как обычная поверхность, но изменения будут видны на мониторе со временем.

Если размер не передан или равен (0, 0), и pygame использует версию SDL 1.2.10 или выше, созданная поверхность будет иметь тот же размер, что и текущее разрешение экрана. Если только ширина или высота установлены равными 0, поверхность будет иметь ту же ширину или высоту, что и разрешение экрана. Использование версии SDL до 1.2.10 приведёт к исключению.

В большинстве случаев следует избегать передачи аргумента depth. Он будет установлен по умолчанию на наилучшее и самое быстрое цветовое разрешение для системы. Если вашей игре требуется определённый формат цвета, вы можете управлять разрешением с помощью этого аргумента. Pygame будет эмулировать недоступное цветовое разрешение, что может быть медленным.

При запросе полноэкранного режима отображения иногда точное совпадение с запрошенным размером невозможно. В этих ситуациях pygame выберет наиболее близкое совместимое соответствие. Возвращаемая поверхность всё равно всегда будет соответствовать запрошенному размеру.

На дисплеях с высоким разрешением (4K, 1080p) и небольших графических играх (640x480) окна отображаются очень маленькими, что делает их неиграбельными. SCALED увеличивает окно для вас. Игра считает, что у неё окно 640x480, но на самом деле оно может быть больше. События мыши масштабируются для вас, поэтому вашей игре не нужно делать это. Обратите внимание, что SCALED считается экспериментальным API и может быть изменён в будущих выпусках.

Аргумент flags управляет типом отображения, которое вы хотите. Есть несколько вариантов, и вы даже можете объединить несколько типов, используя оператор побитового ИЛИ (символ «|»). Вот флаги отображения, которые вам следует выбрать:

pygame.FULLSCREEN    create a fullscreen display
pygame.DOUBLEBUF     only applicable with OPENGL
pygame.HWSURFACE     (obsolete in pygame 2) hardware accelerated, only in FULLSCREEN
pygame.OPENGL        create an OpenGL-renderable display
pygame.RESIZABLE     display window should be sizeable
pygame.NOFRAME       display window will have no border or controls
pygame.SCALED        resolution depends on desktop size and scale graphics
pygame.SHOWN         window is opened in visible mode (default)
pygame.HIDDEN        window is opened in hidden mode

Новое в pygame 2.0.0: SCALED, SHOWN и HIDDEN

Установкой параметра vsync в значение 1 можно получить отображение с вертикальной синхронизацией, но вы не гарантируете этого. Запрос работает только для вызовов set_mode() с установленными флагами pygame.OPENGL или pygame.SCALED, и даже в этом случае это не гарантировано. Полученный результат зависит от конфигурации оборудования и драйверов системы, на которой работает pygame. Вот пример использования вызова set_mode(), который может дать вам отображение с вертикальной синхронизацией:

flags = pygame.OPENGL | pygame.FULLSCREEN
window_surface = pygame.display.set_mode((1920, 1080), flags, vsync=1)

Поведение Vsync считается экспериментальным и может измениться в будущих выпусках.

Новое в pygame 2.0.0: vsync

Базовый пример:

# Open a window on the screen
screen_width=700
screen_height=400
screen=pygame.display.set_mode([screen_width, screen_height])

Индекс отображения 0 означает, что используется отображение по умолчанию. Если аргумент индекса отображения не указан, отображение по умолчанию можно переопределить с помощью переменной среды.

Изменено в pygame 1.9.5: Добавлен аргумент display

Изменено в pygame 2.1.3: Теперь pygame гарантирует, что последующие вызовы этой функции очищают окно до чёрного цвета. В более старых версиях это было реализацией по умолчанию на основных платформах, на которых тестировалась эта функция.

pygame.display.get_surface()
Получить ссылку на текущую поверхность отображения
get_surface() -> Surface

Возвращает ссылку на текущую поверхность отображения. Если режим отображения не был установлен, возвращается None.

pygame.display.flip()
Обновить полную поверхность отображения на экране
flip() -> None

Обновит содержимое всей поверхности отображения. Если ваш режим отображения использует флаги pygame.HWSURFACE и pygame.DOUBLEBUF в pygame 1, это будет ожидать вертикального обратного хода и поменять поверхности.

При использовании режима отображения pygame.OPENGL это выполнит обмен буферами gl.

pygame.display.update()
Обновление участков экрана для программных дисплеев
update(rectangle=None) -> None
update(rectangle_list) -> None

Эта функция — это оптимизированная версия pygame.display.flip() для программных дисплеев. Она позволяет обновить только часть экрана, а не всю область. Если аргумент не передан, она обновляет всю область поверхности, как pygame.display.flip().

Обратите внимание, что вызов display.update(None) означает, что ни одна часть окна не обновляется. В то время как display.update() означает, что обновляется всё окно.

Вы можете передать функции один прямоугольник или последовательность прямоугольников. Эффективнее передавать сразу несколько прямоугольников, чем вызывать update несколько раз с одиночным или частичным списком прямоугольников. При передаче последовательности прямоугольников можно безопасно включать в список значения None, которые будут пропущены.

Этот вызов не может быть использован для pygame.OPENGL дисплеев и вызовет исключение.

pygame.display.get_driver()
Получение имени бэкенда отображения pygame
get_driver() -> name

Pygame выбирает один из многих доступных бэкэндов отображения при инициализации. Эта функция возвращает внутреннее имя, используемое для бэкенда отображения. Это может быть использовано для предоставления ограниченной информации о возможностях ускорения отображения. См. SDL_VIDEODRIVER флаги в pygame.display.set_mode(), чтобы увидеть некоторые из распространённых вариантов.

pygame.display.Info()
Создание объекта информации об отображении видео
Info() -> VideoInfo

Создаёт простой объект, содержащий несколько атрибутов для описания текущей графической среды. Если эта функция вызывается до pygame.display.set_mode(), некоторые платформы могут предоставить информацию о режиме отображения по умолчанию. Это также можно вызвать после установки режима отображения, чтобы проверить, были ли удовлетворены определённые параметры отображения. Объект VidInfo имеет несколько атрибутов:

hw:         1 if the display is hardware accelerated
wm:         1 if windowed display modes can be used
video_mem:  The megabytes of video memory on the display. This is 0 if
            unknown
bitsize:    Number of bits used to store each pixel
bytesize:   Number of bytes used to store each pixel
masks:      Four values used to pack RGBA values into pixels
shifts:     Four values used to pack RGBA values into pixels
losses:     Four values used to pack RGBA values into pixels
blit_hw:    1 if hardware Surface blitting is accelerated
blit_hw_CC: 1 if hardware Surface colorkey blitting is accelerated
blit_hw_A:  1 if hardware Surface pixel alpha blitting is accelerated
blit_sw:    1 if software Surface blitting is accelerated
blit_sw_CC: 1 if software Surface colorkey blitting is accelerated
blit_sw_A:  1 if software Surface pixel alpha blitting is accelerated
current_h, current_w:  Height and width of the current video mode, or
            of the desktop mode if called before the display.set_mode
            is called. (current_h, current_w are available since
            SDL 1.2.10, and pygame 1.8.0). They are -1 on error, or if
            an old SDL is being used.
pygame.display.get_wm_info()
Получение информации о текущей системе окон
get_wm_info() -> dict

Создаёт словарь, заполненный строковыми ключами. Строки и значения создаются произвольно системой. Некоторые системы могут не иметь информации, и будет возвращён пустой словарь. Большинство платформ вернут ключ "window" со значением, установленным в системный идентификатор текущего отображения.

Добавлено в pygame 1.7.1.

pygame.display.get_desktop_sizes()
Получение размеров активных рабочих столов
get_desktop_sizes() -> list

Эта функция возвращает размеры текущих настроенных виртуальных рабочих столов в виде списка кортежей (x, y) целых чисел.

Длина списка не соответствует количеству подключенных мониторов, так как рабочий стол может быть дублирован на нескольких мониторах. Размеры рабочего стола не указывают максимальные разрешения мониторов, поддерживаемые аппаратным обеспечением, а размер рабочего стола, настроенный в операционной системе.

Для размещения окон на рабочем столе в его текущей конфигурации и соблюдения разрешения, настроенного операционной системой в полноэкранном режиме, эта функция должна использоваться для замены многих случаев использования pygame.display.list_modes() применительно к случаям.

Добавлено в pygame 2.0.0.

pygame.display.list_modes()
Получение списка доступных полноэкранных режимов
list_modes(depth=0, flags=pygame.FULLSCREEN, display=0) -> list

Эта функция возвращает список возможных размеров для указанной глубины цвета. Значение возврата будет пустым списком, если режимы отображения недоступны с заданными аргументами. Значение возврата -1 означает, что любой запрошенный размер должен работать (вероятно, это относится к оконному режиму). Размеры режимов отсортированы по убыванию.

Если глубина равна 0, используется текущая/лучшая глубина цвета для дисплея. Флаги по умолчанию pygame.FULLSCREEN, но вам может потребоваться добавить дополнительные флаги для определённых полноэкранных режимов.

Индекс дисплея 0 означает, что используется дисплей по умолчанию.

Начиная с pygame 2.0, pygame.display.get_desktop_sizes() взял на себя некоторые задачи, ранее выполнявшиеся pygame.display.list_modes().

Для поиска подходящего размера для окон без полноэкранного режима предпочтительнее использовать pygame.display.get_desktop_sizes() для получения размера текущего рабочего стола и затем выбрать меньший размер окна. Таким образом, гарантируется, что окно поместится, даже когда монитор настроен на разрешение ниже максимального, поддерживаемого аппаратным обеспечением.

Чтобы избежать изменения физического разрешения монитора, предпочтительнее использовать pygame.display.get_desktop_sizes() для определения разрешения полноэкранного режима. Разработчикам настоятельно рекомендуется использовать текущее физическое разрешение монитора по умолчанию, если пользователь явно не запросил другое (например, в меню опций или файле конфигурации).

Изменено в pygame 1.9.5: display аргумент добавлен

pygame.display.mode_ok()
Выбор лучшей глубины цвета для режима отображения
mode_ok(size, flags=0, depth=0, display=0) -> depth

Эта функция использует те же аргументы, что и pygame.display.set_mode(). Используется для определения доступности запрошенного режима отображения. Возвращает 0 если режим отображения не может быть установлен. В противном случае она возвращает глубину пикселей, которая лучше всего соответствует запрошенному отображению.

Обычно аргумент depth не передаётся, но некоторые платформы могут поддерживать несколько глубин отображения. Если он передан, он укажет, какая глубина лучше соответствует.

Функция вернёт 0 если переданные флаги отображения не могут быть установлены.

Индекс дисплея 0 означает, что используется дисплей по умолчанию.

Изменено в pygame 1.9.5: display аргумент добавлен

pygame.display.gl_get_attribute()
Получение значения флага OpenGL для текущего дисплея
gl_get_attribute(flag) -> value

После вызова pygame.display.set_mode() с флагом pygame.OPENGL рекомендуется проверить значение любых запрошенных атрибутов OpenGL. См. pygame.display.gl_set_attribute() для списка допустимых флагов.

pygame.display.gl_set_attribute()
Запрос атрибута отображения OpenGL для режима отображения
gl_set_attribute(flag, value) -> None

При вызове pygame.display.set_mode() с флагом pygame.OPENGL Pygame автоматически обрабатывает установку атрибутов OpenGL, таких как цвет и буферизация с двойным буфером. OpenGL предлагает множество других атрибутов, которые вы можете контролировать. Передайте один из этих атрибутов в качестве флага и его соответствующее значение. Это должно быть выполнено до pygame.display.set_mode().

Многие настройки — это минимальные значения. Создание окна с контекстом OpenGL завершится неудачей, если OpenGL не сможет предоставить запрошенный атрибут, но, например, может предоставить буфер шаблона, даже если вы его не запросили, или может предоставить больший буфер, чем запрошено.

Флаги OPENGL:

GL_ALPHA_SIZE, GL_DEPTH_SIZE, GL_STENCIL_SIZE, GL_ACCUM_RED_SIZE,
GL_ACCUM_GREEN_SIZE,  GL_ACCUM_BLUE_SIZE, GL_ACCUM_ALPHA_SIZE,
GL_MULTISAMPLEBUFFERS, GL_MULTISAMPLESAMPLES, GL_STEREO

GL_MULTISAMPLEBUFFERS

Включить ли многократную выборку анти-алиасинга. По умолчанию 0 (выключено).

Установите GL_MULTISAMPLESAMPLES на значение выше 0, чтобы контролировать количество анти-алиасинга. Типичное значение 2 или 3.

GL_STENCIL_SIZE

Минимальный размер в битах буфера шаблона. По умолчанию 0.

GL_DEPTH_SIZE

Минимальный размер в битах буфера глубины. По умолчанию 16.

GL_STEREO

1 включает стерео 3D. По умолчанию 0.

GL_BUFFER_SIZE

Минимальный размер в битах буфера кадра. По умолчанию 0.

Добавлено в pygame 2.0.0: Дополнительные атрибуты:

GL_ACCELERATED_VISUAL,
GL_CONTEXT_MAJOR_VERSION, GL_CONTEXT_MINOR_VERSION,
GL_CONTEXT_FLAGS, GL_CONTEXT_PROFILE_MASK,
GL_SHARE_WITH_CURRENT_CONTEXT,
GL_CONTEXT_RELEASE_BEHAVIOR,
GL_FRAMEBUFFER_SRGB_CAPABLE

GL_CONTEXT_PROFILE_MASK

Устанавливает профиль OpenGL на одно из этих значений:

GL_CONTEXT_PROFILE_CORE             disable deprecated features
GL_CONTEXT_PROFILE_COMPATIBILITY    allow deprecated features
GL_CONTEXT_PROFILE_ES               allow only the ES feature
                                    subset of OpenGL

GL_ACCELERATED_VISUAL

Установите в 1, чтобы потребовать аппаратное ускорение, или в 0, чтобы принудительно использовать программное рендеринг. По умолчанию разрешены оба.

pygame.display.get_active()
Возвращает True, когда отображение активно на экране
get_active() -> bool

Возвращает True, когда поверхность отображения считается активно рендерящейся на экране и может быть видна пользователю. Это состояние по умолчанию сразу после pygame.display.set_mode(). Этот метод может возвращать True даже если приложение полностью скрыто за другим окном приложения.

Этот метод вернёт False, если поверхность отображения была минимизирована (как через pygame.display.iconify() или через метод, специфичный для ОС, такой как кнопка минимизации, доступная на большинстве настольных систем).

Метод также может возвращать False по другим причинам, не связанным с явным минимизацией приложения пользователем. Примечательным примером является тот случай, когда у пользователя несколько виртуальных рабочих столов, и поверхность отображения не находится на активном виртуальном рабочем столе.

Примечание

Возвращение этого значения True не связано с тем, имеет ли приложение фокус ввода. См. pygame.key.get_focused() и pygame.mouse.get_focused() для API, связанных с фокусом ввода.

pygame.display.iconify()
Минимизировать поверхность отображения
iconify() -> bool

Запрос на минимизацию или скрытие окна для поверхности отображения. Не все системы и дисплеи поддерживают минимизированное отображение. Функция вернёт True, если операция выполнена успешно.

Когда отображение минимизировано, pygame.display.get_active() вернёт False. Очередь событий должна получить событие ACTIVEEVENT когда окно было минимизировано. Кроме того, очередь событий также получает событие WINDOWEVENT_MINIMIZED при минимизации окна в pygame 2.

pygame.display.toggle_fullscreen()
Переключение между полноэкранным и оконным отображением
toggle_fullscreen() -> int

Переключает окно отображения между оконным и полноэкранным режимами. Поддержка драйверов отображения в pygame 1 не очень хороша, но в pygame 2 это самый надёжный метод переключения в полноэкранный и обратно.

Поддерживаемые драйверы отображения в pygame 1:

  • x11 (Linux/Unix)

  • wayland (Linux/Unix)

Поддерживаемые драйверы отображения в pygame 2:

  • windows (Windows)

  • x11 (Linux/Unix)

  • wayland (Linux/Unix)

  • cocoa (OSX/Mac)

Примечание

toggle_fullscreen() не работает в Windows, если размер окна не находится в pygame.display.list_modes() или окно создано с флагом pygame.SCALED. См. проблему #2380.

pygame.display.set_gamma()
Изменение гамма-кривых аппаратного обеспечения
set_gamma(red, green=None, blue=None) -> bool

УСТАРЕВШЕЕ: Эта функциональность будет убрана в SDL3.

Установка значений гаммы для красного, зелёного и синего цветов на аппаратном обеспечении дисплея. Если аргументы green и blue не переданы, они оба будут такими же, как red. Не все системы и оборудование поддерживают гамма-кривые; если функция выполняется успешно, она вернёт True.

Значение гаммы 1.0 создаёт линейную таблицу цветов. Более низкие значения затемнят отображение, а более высокие – осветят.

Устарело начиная с pygame 2.2.0.

pygame.display.set_gamma_ramp()
Изменение гамма-кривых аппаратного обеспечения с пользовательской таблицей поиска
set_gamma_ramp(red, green, blue) -> bool

УСТАРЕВШЕЕ: Эта функциональность будет убрана в SDL3.

Установка гамма-кривых для красного, зелёного и синего цветов с явной таблицей поиска. Каждый аргумент должен быть последовательностью из 256 целых чисел. Целые числа должны быть в диапазоне от 0 до 0xffff. Не все системы и оборудование поддерживают гамма-кривые, если функция выполняется успешно, она вернёт True.

Устарело начиная с pygame 2.2.0.

pygame.display.set_icon()
Изменение системного изображения для окна отображения
set_icon(Surface) -> None

Устанавливает значок, который система будет использовать для представления окна отображения. По умолчанию все окна используют простой логотип pygame для значка окна.

Обратите внимание, что вызов этой функции неявно инициализирует pygame.display, если она не была инициализирована ранее.

Вы можете передать любую поверхность, но большинство систем предпочитают меньшее изображение размером примерно 32x32. Изображение может иметь прозрачность по цвету, которая будет передана системе.

Некоторые системы не позволяют изменять значок окна после его отображения. Эту функцию можно вызвать перед pygame.display.set_mode() для создания значка до установки режима отображения.

pygame.display.set_caption()
Установить текущее имя окна
set_caption(title, icontitle=None) -> None

Если у отображения есть заголовок окна, эта функция изменит имя в окне. В pygame 1.x некоторые системы поддерживали альтернативное более короткое имя, используемое для минимизированных дисплеев, но в pygame 2 icontitle ничего не делает.

pygame.display.get_caption()
Получить текущее имя окна
get_caption() -> (title, icontitle)

Возвращает заголовок и заголовок значка для окна отображения. В pygame 2.x эти значения всегда будут одинаковыми.

pygame.display.set_palette()
Установить палитру цветов дисплея для индексированных дисплеев
set_palette(palette=None) -> None

Это изменит палитру цветов видеодисплея для 8-битных дисплеев. Это не изменяет палитру для фактической поверхности отображения, а только палитру, используемую для отображения поверхности. Если аргумент palette не передан, будет восстановлена системная палитра по умолчанию. Палитра представляет собой последовательность из RGB троек.

pygame.display.get_num_displays()
Возвращает количество дисплеев
get_num_displays() -> int

Возвращает количество доступных дисплеев. Это всегда 1, если pygame.get_sdl_version() возвращает номер основной версии ниже 2.

Добавлена в pygame 1.9.5.

pygame.display.get_window_size()
Возвращает размер окна или экрана
get_window_size() -> tuple

Возвращает размер окна, инициализированного с помощью pygame.display.set_mode(). Это может отличаться от размера поверхности отображения, если используется SCALED.

Добавлена в pygame 2.0.0.

pygame.display.get_allow_screensaver()
Возвращает, разрешено ли включение экрана ожидания.
get_allow_screensaver() -> bool

Возвращает, разрешено ли включение экрана ожидания во время работы приложения. Значение по умолчанию - False. По умолчанию pygame не разрешает экран ожидания во время игры.

Примечание

Некоторые платформы не имеют экрана ожидания или не поддерживают его отключение. См. pygame.display.set_allow_screensaver() для ограничений по поддержке экрана ожидания.

Добавлена в pygame 2.0.0.

pygame.display.set_allow_screensaver()
Установить, разрешено ли включение экрана ожидания
set_allow_screensaver(bool) -> None

Изменить разрешение экрана ожидания во время работы приложения. Значение аргумента функции по умолчанию — True. По умолчанию pygame не разрешает экран ожидания во время игры.

Если экран ожидания был запрещен с помощью этой функции, он автоматически будет разрешен при вызове pygame.quit().

Можно повлиять на значение по умолчанию через переменную среды SDL_HINT_VIDEO_ALLOW_SCREENSAVER, которая может быть установлена в 0 (отключить) или 1 (включить).

Примечание

Отключение экрана ожидания зависит от поддержки платформы. Если поддержка отсутствует, эта функция будет молча работать, хотя состояние экрана ожидания не изменится. Отсутствие обратной связи связано с тем, что SDL не предоставляет поддерживаемого метода для определения возможности изменения состояния экрана ожидания. SDL_HINT_VIDEO_ALLOW_SCREENSAVER доступен в SDL 2.0.2 и более поздних версиях. В SDL1.2 это не реализовано.

Новое в pygame 2.0.0.




Edit on GitHub

© Pygame Developers.
Licensed under the GNU LGPL License version 2.1.
https://www.pygame.org/docs/ref/display.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API