目录
pygame.display.init()
pygame.display.quit()
pygame.display.get_init()
pygame.display.set_mode()
pygame.display.get_surface()
pygame.display.flip()
pygame.display.update()
pygame.display.get_driver()
pygame.display.Info()
pygame.display.get_wm_info()
pygame.display.list_modes()
pygame.display.mode_ok()
pygame.display.gl_get_attribute()
pygame.display.gl_set_attribute()
pygame.display.get_active()
pygame.display.iconify()
pygame.display.toggle_fullscreen()
pygame.display.set_gamma()
pygame.display.set_gamma_ramp()
pygame.display.set_icon()
pygame.display.set_caption()
pygame.display.get_caption()
pygame.display.set_palette()
pygame.display.get_num_displays()
pygame.display.get_window_size()
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_window id 设置为包含窗口 id 或句柄的字符串。初始化pygame显示时检查环境变量。请注意,在嵌入式显示器中运行时可能会有许多奇怪的副作用。
多次调用是无害的,重复调用没有效果。
pygame.display.quit()
功能:取消初始化显示模块
属性:quit() -> None
关闭整个显示模块。多次调用是无害的,重复调用没有效果。
pygame.display.get_init()
功能:如果显示模块已初始化,则返回True
属性:get_init() -> bool
pygame.display.set_mode()
功能:初始化显示窗口或屏幕
属性:set_mode(size=(0, 0), flags=0, depth=0, display=0) -> Surface
此函数将创建一个显示 Surface 。传入的参数是对显示类型的请求。实际创建的显示将是系统支持的最佳匹配。
返回的 Surface 会被绘制成规则 Surface ,但最终将在监视器上看到区别。
如果没有size被传递或设置为(0,0),并且pygame使用SDL版本1.2.10或更高版本,则创建的 Surface 将具有与当前屏幕分辨率相同的大小。如果只有宽度或高度设置为0,则Surface的对应参数将与屏幕分辨率相同。
通常最好不要传递 depth 参数,将默认使用系统的最佳和最快颜色深度。如果你的游戏需要特定的颜色格式,你可以用这个参数来控制色深。Pygame将模拟一个不可用的颜色深度,它会很慢。
请求全屏显示模式时,有时无法与请求的大小完全匹配。在这些情况下,pygame将选择最接近的兼容匹配项,但返回的曲面仍将始终与请求的大小匹配。
在高分辨率显示器(4k,1080p)和微型图形游戏(640x480)上,因显示的非常小而无法播放时,需使用鼠标事件按比例缩放窗口。游戏认为它是一个640x480的窗口,但实际上它可以更大。
flags参数控制所需的显示类型。有几种类型可供选择,甚至可以使用按位或运算符组合多种类型。如果传递0或no flags参数,它将默认为软件驱动的窗口。
pygame.FULLSCREEN 创建全屏显示
pygame.DOUBLEBUF 推荐用于 HWSURFACE or OPENGL
pygame.HWSURFACE 硬件加速,仅全屏显示
pygame.OPENGL 创建一个OPENGL可渲染显示
pygame.RESIZABLE 显示窗口应该sizeable
pygame.NOFRAME 显示窗口将没有边框或控件
pygame.SCALED 分辨率取决于桌面大小和缩放图形
New in pygame 2.0.0: SCALED
pygame.display.get_surface()
功能:获取对当前设置的显示 Surface 的引用
属性:get_surface() -> Surface
返回对当前设置的显示 Surface 的引用。如果未设置显示模式,则返回“无”。
pygame.display.flip()
功能:将整个显示 Surface 更新到屏幕
属性:flip() -> None
这将更新整个显示的内容。如果显示模式使用的flags是 pygame.HWSURFACE 和 pygame.DOUBLEBUF ,则将等待垂直回溯并交换曲面。如果使用的是不同类型的显示模式,则只需更新曲面的全部内容。
当使用 pygame.OPENGL 显示模式时,这将执行缓冲区交换。
pygame.display.update()
功能:软件显示屏幕的更新部分
属性:
update(rectangle=None) -> None
update(rectangle_list) -> None
此函数类似于用于软件显示的pygame.display.flip()的优化版本。它只允许更新屏幕的一部分,而不是整个区域。如果没有传递参数,它将更新整个表面积,如pygame.display.flip()。
可以向函数传递单个矩形或一系列矩形。一次传递多个矩形比使用单个或部分矩形列表多次调用update更有效。如果传递了一个不包含任何值矩形序列,则会被跳过。
此调用不能用于pygame.OPENGL显示,并将生成异常。
pygame.display.get_driver()
功能:获取pygame显示后端的名称
属性:get_driver() -> name
返回用于显示后端的内部名称。可用于提供有关哪些显示功能可能会加速的有限信息。
pygame.display.Info()
功能:创建一个视频显示信息对象
属性:Info() -> VideoInfo
创建包含多个属性的简单对象来描述当前图形环境。如果在 pygame.display.set_mode() 之前调用此命令,则某些平台可以提供有关默认显示模式的信息。这也可以在设置显示模式以验证满足特定显示选项后调用。VidInfo对象有几个属性:
hw 1 如果显示器是硬件加速的
wm 1 如果可以使用窗口显示模式
video_mem 显示器上的兆字节视频内存。如果未知,则为 0
bitsize 用于存储每个像素的位数
bytesize 用于存储每个像素的字节数
masks 四个用于将RGBA值打包为像素的值
shifts 四个用于将RGBA值打包为像素的值
losses 四个用于将RGBA值打包为像素的值
blit_hw 1 如果硬件Surface blitting是加速的
blit_hw_CC 1 如果硬件Surface colorkey blitting是加速的
blit_hw_A 1 如果硬件Surface pixel alpha blitting 是加速的
blit_sw 1 如果软件Surface blitting是加速的
blit_sw_CC 1 如果软件Surface colorkey blitting是加速的
blit_sw_A 1 如果软件Surface pixel alpha blitting是加速的
current_h, current_w
当前视频模式的高度和宽度,或桌面模式(如果在调用display.set_mode之前调用)。
(current_h, current_w从SDL1.2.10和PyGame1.8.0开始可用)
如果错误or使用旧的SDL,则为-1。
pygame.display.get_wm_info()
功能:获取有关当前窗口系统的信息
属性:get_wm_info() -> dict
创建一个包含字符串键的字典。字符串和值由系统任意创建。某些系统可能没有信息,将返回空字典。大多数平台将返回一个"window" 键,其值设置为当前显示的系统id。
New with pygame 1.7.1
pygame.display.list_modes()
功能:获取可用全屏模式的列表
属性:list_modes(depth=0, flags=pygame.FULLSCREEN, display=0) -> list
此函数返回指定颜色深度的可能大小列表。如果给定参数没有可用的显示模式,则返回值将为空列表。返回值-1意味着任何请求的大小都应该正常工作(这可能是窗口模式的情况)。模式大小按大小排序。
如果depth为0,SDL将为显示选择当前/最佳颜色深度。flags默认为pygame.FULLSCREEN,但您可能需要为特定的全屏模式添加其他标志。
显示索引0表示使用默认显示。
The display argument is new with pygame 1.9.5.
pygame.display.mode_ok()
功能:为显示模式选择最佳颜色深度
属性:mode_ok(size, flags=0, depth=0, display=0) -> depth
此函数使用与pygame.display.set_mode()相同的参数。它用于确定请求的显示模式是否可用。如果无法设置显示模式,则返回0。否则它将返回与所需显示最匹配的像素深度。
通常不会传递depth参数,但某些平台可以支持多个显示深度。如果传递,它将提示哪个深度更匹配。
最有用的flags是pygame.HWSURFACE、pygame.DOUBLEBUF,也许还有pygame.FULLSCREEN。如果无法设置这些显示标志,则函数将返回0。
显示索引0表示使用默认显示。
The display argument is new with pygame 1.9.5.
pygame.display.gl_get_attribute()
功能:获取当前显示的OpenGL flag的值
属性:gl_get_attribute(flag) -> value
使用pygame.OPENGL flag调用pygame.display.set_mode()之后,最好检查任何请求的OPENGL属性的值。有关有效标志的列表,请参见pygame.display.gl_set_attribute()。
pygame.display.gl_set_attribute()
功能:请求显示模式的OpenGL显示属性
属性:gl_set_attribute(flag, value) -> None
使用pygame.OPENGL flags调用pygame.display.set_mode()时,pygame会自动处理设置OPENGL属性,如颜色和双缓冲。OpenGL提供了其他一些您可能需要控制的属性。将这些属性之一作为flags传递,并传递相应的值。这必须在pygame.display.set_mode()之前调用。
许多设置是请求最小值。如果OpenGL无法提供请求的属性,则使用OpenGL语境创建窗口将失败,但它可能会给您一个模具缓冲区,即使您没有请求,也可能会给您一个比请求的更大的缓冲区。
The OPENGL flags are:
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
New in pygame 2.0: Additional attributes:
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_MULTISAMPLEBUFFERS
是否启用多采样抗锯齿。默认为0(禁用)。将 GL_MULTISAMPLESAMPLES 设置为大于0的值,以控制抗锯齿的数量。典型值是2或3。
GL_STENCIL_SIZE
模具缓冲区的最小位大小。默认为0。
GL_DEPTH_SIZE
深度缓冲区的最小位大小。默认为16。
GL_STEREO
1启用立体3D。默认为0。
GL_BUFFER_SIZE
帧缓冲区的最小位大小。默认为0。
GL_CONTEXT_PROFILE_MASK
将OpenGL配置文件设置为以下值之一:
GL_CONTEXT_PROFILE_CORE 禁用不推荐的功能
GL_CONTEXT_PROFILE_COMPATIBILITY 允许不推荐的功能
GL_CONTEXT_PROFILE_ES 只允许OpenGL的ES特性子集
GL_ACCELERATED_VISUAL
设置为1需要硬件加速,或设置为0强制软件渲染。默认情况下,两者都是允许的。
pygame.display.get_active()
功能:当屏幕上的显示处于活动状态时返回True
属性:get_active() -> bool
当显示表面在屏幕上被认为是活动可渲染的并且可能对用户可见时,返回True。这是pygame.display.set_mode()之后的默认状态。即使应用程序完全隐藏在另一个应用程序窗口后面,此方法也可能返回True。
如果显示表面已图标化或最小化(通过pygame.display.iconify()或通过操作系统特定的方法,如大多数桌面上可用的最小化图标),则返回False。
该方法还可以由于其他原因返回False,而不需要用户显式地将应用程序图标化或最小化。一个值得注意的例子是,如果用户有多个虚拟机,并且显示面不在活动虚拟机上。
注意:返回True的函数与应用程序是否具有输入焦点无关。参阅 pygame.key.get_focused() 和 pygame.mouse.get_focused() 与输入焦点相关的API。
pygame.display.iconify()
功能:使显示面图标化
属性:iconify() -> bool
请求将显示曲面的窗口设置为图标化或隐藏。并非所有系统和显示器都支持图标化显示。如果成功,函数将返回True。
当显示为图标化时,pygame.display.get_active()将返回False。当窗口已图标化时,事件队列应接收ACTIVEEVENT事件。
pygame.display.toggle_fullscreen()
功能:在全屏和窗口显示之间切换
属性:toggle_fullscreen() -> int
在窗口模式和全屏模式之间切换显示窗口。此函数仅在UNIX X11视频驱动程序下工作。在大多数情况下,最好使用新的显示flags调用pygame.display.set_mode()。
pygame.display.set_gamma()
功能:更改硬件gamma渐变
属性:set_gamma(red, green=None, blue=None) -> bool
设置显示硬件上的红色、绿色和蓝色伽马值。如果绿色和蓝色的参数没有通过,它们都将与红色相同。并非所有系统和硬件都支持gamma斜坡,如果函数成功,它将返回True。
gamma值为1.0将创建线性颜色表。值越低,显示越暗,值越高,显示越亮。
pygame.display.set_gamma_ramp()
功能:使用自定义查找更改硬件gamma渐变
属性:set_gamma_ramp(red, green, blue) -> bool
使用显式查找表设置红色、绿色和蓝色gamma渐变。每个参数应该是256个整数的序列。整数的范围应在0到0xffff之间。并非所有系统和硬件都支持gamma斜坡,如果函数成功,它将返回True。
pygame.display.set_icon()
功能:更改显示窗口的系统图像
属性:set_icon(Surface) -> None
设置系统用来表示显示窗口的运行时图标。所有窗口默认为窗口图标的简单pygame徽标。
可以传递任何Surface,但大多数系统需要一个32x32左右的较小图像。图像可以具有彩色键透明度,该透明度将传递给系统。
某些系统不允许窗口图标在显示后更改。此函数可以在 pygame.display.set_mode() 之前调用,以便在设置显示模式之前创建图标。
pygame.display.set_caption()
功能:设置当前窗口标题
属性:set_caption(title, icontitle=None) -> None
如果显示器有窗口标题,此函数将更改窗口上的名称。有些系统支持用于最小化显示的替换短标题。
pygame.display.get_caption()
功能:获取当前窗口标题
属性:get_caption() -> (title, icontitle)
返回显示Surface的标题和图标。这些值通常是相同的。
pygame.display.set_palette()
功能:设置索引显示的显示调色板
属性:set_palette(palette=None) -> None
这将更改8位显示器的视频显示调色板。这不会更改实际显示Surface的选项板,仅更改用于显示Surface的选项板。如果未传递任何调色板参数,则将还原系统默认调色板。调色板是一个RGB三元组序列。
pygame.display.get_num_displays()
功能:返回显示数
属性:get_num_displays() -> int
返回可用显示的数目。如果pygame.get_sdl_version()取得并返回SDL的主版本号低于2,则此值始终为1。
New in pygame 1.9.5.
pygame.display.get_window_size()
功能:返回窗口或屏幕的大小
属性:get_window_size() -> tuple
返回用pygame.display.set_mode()初始化的窗口大小。如果使用缩放,这可能与显示Surface的大小不同。
New in pygame 2.0.
————————————————
版权声明:本文为CSDN博主「Rita_Aloha」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rita_aloha/article/details/106208691