python display update用不了能用filp_疯狂的Pygame——使用python写游戏(yuyu版)——基础讲解部分——第一章...

第一章Pygame.display

Pygame的窗口部分,任何时刻pygame都只能 有一个活动的display。

display的起始位置(即x=0和y=0)在屏幕的左上角。两个坐标轴分别往右和往下增加。

pygame的display可以被初始化成多种模式之一。默认情况下,它被初始化成一个软件驱动的帧缓冲。你可以请求硬件加速和OpenGL的支持。这由传给pygame.display.set_mode的参数来控制。

精确控 制像素格式和显示的分辨率,使用pygame.display.mode_ok函数,pygame.display.list_modes来列出所有可用的模式,pygame.display.Info来创建一个显示信息对象来查询display的相关信息。

pygame.display.init初始化display模块。

pygame.display.init()#初始化Pygame.display

Pygame.display.quit

pygame.display.quit()#退出Pygame.display,关闭时使用,单使用exit会卡屏报错

pygame.display.get_init

pygame.display.get_init()#用于判断Pygame.display是否初始化,已经初始化返回True

pygame.display.set_mode

pygame.display.set_mode(resolution, flags=0, depth=0)#创建并指定窗口大小等参数

pygame.display.set_mode((1024, 640),0,32)

resolution(分辨率)参数是一对数表示宽度和高度。如(640,320)

flags参数是一组选项的集合。

depth参数表示颜 色的位数。(8,24,32)最好不用使用depth参数,默认情况下会自动选择当前系统最好和最快的颜色深度。

Flags参数:

0

默认值不作任何改变

FULLSCREEN

创建全屏的display

DOUBLEBUF

使用HWSURFACE或OPENGL时建议加上这个标志

HWSURFACE

使用硬件加速,只在FULLSCREEN时有效

OPENGL

创建一个可以使用opengl的display

RESIZABLE

display的窗口可变大小

NOFRAME

display的窗口没有边框和控制条

pygame.display.get_surface

pygame.display.get_surface()

返回指向当前display Surface的引用。如果当前的显示模式还没有设置,那么返回None

Pygame.display.flip

pygame.display.flip()

把整个display Surface上的东西更新到屏幕上

这个函数会更新整个 display的内容。如果显示模式设置成pygame.HWSURFACE和pygame.DOUBLEBUF,这个操作会等待垂直同步并交换surfaces。如果使用其它的显示模式,这个操作只是简单的更新整个Surface的内容。

当使用pygame.OPENGL显示模式时,这个操作会进行一个gl缓冲交换操作。

pygame.display.update

pygame.display.update(rectangle=None)

如果没有指定参数,它和pygame.display.flip一样更新整个窗口。这个函数不能用在 pygame.OPENGL模式上!

pygame.display.get_driver

pygame.display.get_driver()

获得pygame显示后台的名字。

pygame.display.Info

pygame.display.Info()

创建一个视频如果在pygame.display.set_mode之前被调用,有些平台上会提供默认的显示模式的信息。在设置了显示模式后调用这个函数,可 以验证特定的显示选项是否满足。

pygame.display.get_wm_info

pygame.display.get_wm_info()

获得当前窗口系统的信息

创建一个字典,关键字为字符串类型。

大部分系统上都有一个"window"关键字,它的值是当前display的系统id

pygame.display.list_modes

pygame.display.list_modes(depth=0, flags=pygame.FULLSCREEN)

获得一个可用的全屏模式列表

这个函数返回一个指定颜色 深度的所有可用的分辨率的列表。

如果depth是0,SDL会自动选择当前或最好的颜色深度。flags参数默认是pygame.FULLSCREEN,你可以添加额外的选项。

pygame.display.mode_ok

pygame.display.mode_ok(size, flags=0, depth=0)

选择一个最好的颜色深度

它用来确定请求的模式是否可用。指定的模式不能使用它会返回0,否则它会返回一个最佳的颜色深度

如果被请求的flags不能够设置,函数会 返回0。

pygame.display.gl_get_attribute

pygame.display.gl_get_attribute(flag)

获得当前display的opengl标志

参看pygame.display.get_set_attribute来得到有效的标志列表。

pygame.display.gl_set_attribute

pygame.display.gl_set_attribute(flag, value)

请求设置display的opengl显示属性

你可能需要控制OpenGL提供的其它一些属性。把 这些属性作为flag,它的值作为value调用这个函数。这个函数必须在pygame.display.set_mode之前调用。

OPENGL标志有:

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

pygame.display.get_active

pygame.display.get_active()

当display是活动的时候返回True

在pygame.display.set_mode被调用之后,display Surface会在屏幕上显示出来。大部分窗口的display可以被用户隐藏。如果display Surface被用户隐藏或者最小化,这个函数会返回False。

Pygame.display.iconify

pygame.display.iconify()

最小化display Surface

让display surface窗口最小化或者隐藏。不是所有系统都支持最小化的。这个函数在成功时会返回True。

pygame.display.toggle_fullscreen

pygame.display.toggle_fullscreen()

在窗口和全屏之间切换

这个函数只有在unix x11下才能使用。大部分情况下,使用pygame.display.set_mode重新设置flags标志会更好。

pygame.display.set_gamma

pygame.display.set_gamma(red, green=None, blue=None)

修改硬件gamma梯度

pygame.display.set_gamma_ramp

pygame.display.set_gamma_ramp(red, green, blue)

指定一个查询表来修改硬件gamma梯度,不是所有的硬件都支持这个功能。

pygame.display.set_icon

pygame.display.set_icon(Surface)

修改显示窗口的图标ico

一些系统在图标显示后就不允许改变图标。这个函数可以在 pygame.display.set_mode之前调用来创建图标。

pygame.display.set_caption

pygame.display.set_caption(title, icontitle=None)

设置当前窗口的标题

pygame.display.set_caption('屏幕标题!')

pygame.display.get_caption

pygame.display.get_caption()

取得当前窗口的标题

pygame.display.set_palette

pygame.display.set_palette(palette=None)

这个函数可以修改8位display的颜色调色板。不会修改实际display Surface的调色板,而只是修改用来显示这个Surface的调色板。如果没有指定palette参数,会恢复系统默认的调色板。调色板是RGB三元 组的列表。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部