(二)pygame.diaplay详细解析

pygame.display详细解析

Pygame 中用于控制窗口和屏幕显示的模块。

注:为了适应语境,display 在该文档中有时翻译为“显示”,有时翻译为“显示界面”。

函数表

- pygame.display.init() 初始化 display 模块
pygame.display.quit() 结束 display 模块
pygame.display.get_init() 如果 display 模块已经初始化,返回 True
pygame.display.set_mode() 初始化一个准备显示的窗口或屏幕
pygame.display.get_surface() 获取当前显示的 Surface 对象
pygame.display.flip() 更新整个待显示的 Surface 对象到屏幕上
pygame.display.update() 更新部分软件界面显示
pygame.display.get_driver() 获取 Pygame 显示后端的名字
pygame.display.Info() 创建有关显示界面的信息对象
pygame.display.get_wm_info() 获取关于当前窗口系统的信息
pygame.display.list_modes() 获取全屏模式下可使用的分辨率
pygame.display.mode_ok() 为显示模式选择最合适的颜色深度
pygame.display.gl_get_attribute() 获取当前显示界面 OpenGL 的属性值
pygame.display.gl_set_attribute() 设置当前显示模式的 OpenGL 属性值
pygame.display.get_active() 当前显示界面显示在屏幕上时返回 True
pygame.display.iconify() 最小化显示的 Surface 对象
pygame.display.toggle_fullscreen() 切换全屏模式和窗口模式
pygame.display.set_gamma() 修改硬件显示的 gama 坡道
pygame.display.set_gamma_ramp() 自定义修改硬件显示的 gama 坡道
pygame.display.set_icon() 修改显示窗口的图标
pygame.display.set_caption() 设置当前窗口标题
pygame.display.get_caption() 获取当前窗口标题
pygame.display.set_palette() 为索引的显示设置显示调色板
这个模块提供控制 Pygame 显示界面(display)的各种函数。Pygame 的 Surface 对象即可显示为一个窗口,也可以全屏模式显示。当你创建并显示一个常规的 Surface 对象后,在该对象上的改变并不会立刻反映到可见屏幕上,你必须选择一个翻转函数来显示改动后的画面。

显示的原点是 (x=0, y=0) 的位置,及屏幕的左上角,坐标轴向右下角增长。

Pygame 的 display 事实上可以有几种初始化的方式。默认情况下,display 作为一个软件驱动的帧缓冲区。除此之外,你可以使用硬件加速和 OpenGL 支持的特殊模块。这些是通过给 pygame.display.set_mode() 传入 flags 参数来控制的。

Pygame 在任何时间内都只允许有一个显示界面。使用 pygame.display.set_mode() 创建的新显示界面会自动替换掉旧的。如果需要精确控制像素格式或显示分辨率,使用 pygame.display.mode_ok(),pygame.display.list_modes(),和 pygame.display.Info() 来查询显示界面相关的信息。

一旦 Surface 对象的显示界面被创建出来,这个模块的函数就只影响当前的显示界面。如果该模块未初始化, Surface 对象也会变为“非法”。如果新的显示模式被设置,当前的 Surface 对象将会自动切换到新的显示界面。

当一个新的显示模式被设置,会在 Pygame 的事件队列中放入几个相关事件。当用于希望关闭程序时,pygame.QUIT 事件会被发送;当显示界面获得和失去焦点时,窗口会得到 pygame.ACTIVEEVENT 事件;如果显示界面设置了 pygame.RESIZABLE 标志,那么当用户调整窗口尺寸时,pygame.VIDEORESIZE 事件会被发送;硬件显示指当接收到 pygame.VIDEOEXPOSE 事件时,将部分需要被重绘的窗口直接绘制到屏幕上。

一些显示环境拥有自动拉伸所有窗口的选项。当该选项被启动时,自动拉伸会扭曲 Pygame 窗口的外观。在 Pygame 的例子目录中,有一个演示代码(prevent_display_stretching.py)展示如何在微软系统(Vista 以上系统)中关闭 Pygame 显示的自动拉伸属性。

函数详解

pygame.display.init()

初始化 display 模块。

init() -> None

初始化 Pygame 的 display 模块。在初始化之前,display 模块无法做任何事情。但当你调用更高级别的 pygame.init(),变会自动调用 pygame.display.init() 进行初始化。

初始化后,Pygame 将自动从几个内部的显示后端中选择一个。显示模式由平台和当前用户权限决定。在 display 模块被初始化之前,可以通过环境变量 SDL_VIDEODRIVER 设置哪一个显示后端将被使用。具有多种显示后端的系统如下:

> Windows : windib, directx
> Unix : x11, dga, fbcon, directfb, ggi, vgl, svgalib
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao阿文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值