我只是想知道我是否可以在 Pygame 中获得显示器的分辨率,然后使用这些尺寸创建一个窗口,以便启动程序检测显示器分辨率,然后自动将窗口调整到全屏屏幕。
我目前正在使用pygame.display.set_mode((AN_INTEGER, AN_INTEGER))
创建窗口。我知道您可以获得包括显示器分辨率在内的视频信息,pygame.display.Info()
但我如何提取这些值然后在pygame.display.set_mode()
???
提前致谢, 伊尔蒙
我只是想知道我是否可以在 Pygame 中获得显示器的分辨率,然后使用这些尺寸创建一个窗口,以便启动程序检测显示器分辨率,然后自动将窗口调整到全屏屏幕。
我目前正在使用pygame.display.set_mode((AN_INTEGER, AN_INTEGER))
创建窗口。我知道您可以获得包括显示器分辨率在内的视频信息,pygame.display.Info()
但我如何提取这些值然后在pygame.display.set_mode()
???
提前致谢, 伊尔蒙
您可以使用pygame.display.Info()
:
文档说:
current_h, current_w:当前视频模式的高度和宽度,或者在调用 display.set_mode 之前调用的桌面模式的高度和宽度。
(current_h、current_w 自 SDL 1.2.10 和 pygame 1.8.0 起可用)它们在错误时为 -1,或者如果正在使用旧的 SDL.1.8.0)
pygame.display.Info()
创建一个具有属性current_h
和的信息对象current_w
。在调用之前创建信息对象display.set_mode
,然后display.set_mode
使用current_h
和current_w
从对象调用。
例子:
infoObject = pygame.display.Info()
pygame.display.set_mode((infoObject.current_w, infoObject.current_h))
我不知道这是否可行,但如果您只想要一个全屏窗口,请使用以下内容:
pygame.display.set_mode((0,0),pygame.FULLSCREEN)
(当然你仍然必须import pygame
)。
我对pygame不太了解,但这里有一种使用模块的方法win32api
:
from win32api import GetSystemMetrics
width = GetSystemMetrics(0)
height = GetSystemMetrics(1)
更新:看了一眼文档后,似乎你可以从中得到它pygame.display.Info
,像这样:
width, height = pygame.display.Info().current_w, pygame.display.Info().current_h
希望这可以帮助!