Pygame - 显示模式


如上面的示例所示,显示表面是由 pygame.display 模块中定义的 set_mode() 函数创建的。

pygame.display.set_mode(size, flags, depth, display, vsync)

尺寸参数是以像素为单位的宽度和高度的元组。如果未设置大小,则表面将具有当前分辨率的大小。

flags 参数控制由以下预定义常量表示的显示类型 -

pygame.全屏 创建全屏显示
pygame.DOUBLEBUF 推荐用于 HWSURFACE 或 OPENGL
pygame.HWSURFACE 硬件加速,仅在全屏模式下
pygame.OPENGL 创建可 OpenGL 渲染的显示
pygame.RESIZABLE 显示窗口应该足够大
pygame.NOFRAME 显示窗口将没有边框或控件
pygame.SCALED 分辨率取决于桌面尺寸和图形比例
pygame.显示 窗口以可见模式打开(默认)
pygame.隐藏 窗口以隐藏模式打开

如果 vsync 参数设置为 1,则有可能获得垂直同步的显示,但不能保证获得垂直同步。该请求仅适用于设置了 pygame.OPENGL 或 pygame.SCALED 标志的 set_mode() 调用。

显示索引 0 表示使用默认显示。深度参数将默认为系统的最佳和最快颜色深度。对于给定的宽度和高度,Pygame 将从 list_modes() 中选择可用的最佳模式。

>>> print (pygame.display.list_modes())
[(1366, 768), (1360, 768), (1280, 768), (1280, 720), (1024, 768), (800, 600), (640, 480)]

pygame.display.mode_ok()

此功能选择显示模式的最佳颜色深度。它用于确定请求的显示模式是否可用。如果无法设置显示模式则返回0。否则,它将返回最符合显示要求的像素深度。

pygame.display.update()

此功能将更新整个显示屏的内容。