21

我只是想知道我是否可以在 Pygame 中获得显示器的分辨率,然后使用这些尺寸创建一个窗口,以便启动程序检测显示器分辨率,然后自动将窗口调整到全屏屏幕。

我目前正在使用pygame.display.set_mode((AN_INTEGER, AN_INTEGER))创建窗口。我知道您可以获得包括显示器分辨率在内的视频信息,pygame.display.Info()但我如何提取这些值然后在pygame.display.set_mode()???

提前致谢, 伊尔蒙

4

3 回答 3

43

您可以使用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_hcurrent_w从对象调用。

例子:

infoObject = pygame.display.Info()
pygame.display.set_mode((infoObject.current_w, infoObject.current_h))
于 2013-11-13T13:04:41.303 回答
9

我不知道这是否可行,但如果您只想要一个全屏窗口,请使用以下内容:

pygame.display.set_mode((0,0),pygame.FULLSCREEN)

(当然你仍然必须import pygame)。

于 2015-12-02T18:43:49.673 回答
4

我对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

希望这可以帮助!

于 2013-11-13T13:03:12.867 回答