精华内容
下载资源
问答
  • 无法显示背景颜色,不知为何。新人学python,求解答 import sys import pygame def run_game(): #初始化游戏并且创建一个屏幕对象 pygame.init() screen = pygame.display.set_mode((1200, 800)) ...
  • 在用pygame做测试的时候,mac下出现了界面但不显示图片 在游戏循环里加入以下代码便可解决 for event in pygame.event.get(): if event.type == pygame.QUIT: print("退出游戏...") pygame.quit() exit() ...

    在用pygame做测试的时候,mac下出现了界面但不显示图片
    在游戏循环里加入以下代码便可解决

    # 监听事件
    for event in pygame.event.get():
        # 判断事件类型是否是退出事件
        if event.type == pygame.QUIT:
            print("退出游戏...")
            # 卸载所有模块
            pygame.quit()
            # 直接终止当前正在执行的程序
            exit()
    

    另外一种情况是没有 update

    # 在绘制工作完成之后 统一调用update更新 显示图片
    pygame.display.update()
    
    展开全文
  • Pygame 官方文档 - pygame.display

    千次阅读 多人点赞 2019-02-21 15:40:20
    Pygame.display Pygame中用于控制窗口和屏幕显示的模块 pygame.display.init — 初始化display模块 pygame.display.quit — 取消初始化display模块 ...pygame.display.set_mode — 初始化一个准备显示的窗口或屏幕 ...

    Pygame.display

    Pygame中用于控制窗口和屏幕显示的模块
    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属性(flag)的值
    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 — 自定义修改硬件显示的伽马坡道
    pygame.display.set_icon — 更改显示窗口的系统图像
    pygame.display.set_caption — 设置当前窗口标题
    pygame.display.get_caption — 获取当前窗口标题
    pygame.display.set_palette — 为索引显示设置显示调色板

            这个模块提供了对pygame 显示界面的控制。Pygame的 Surface 对象即可显示为一个窗口,可以包含在窗口中,也可以全屏运行。当你创建并显示一个常规的 Surface 对象后,屏幕上无法立即看到更改;您必须从两个翻转(flipping)函数中选择一个来更新实际改动后得到画面。
    显示(display)的原点(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事件队列(event queue)中会放置几个相关事件。当用户请求程序关闭时发送pygame.QUIT事件。当显示界面获得并失去输入焦点时,窗口将接收pygame.ACTIVEEVENT事件。如果使用pygame.RESIZABLE属性(flags)设置显示界面,则在用户调整窗口尺寸时将发送pygame.VIDEORESIZE事件。硬件显示指当接收到 pygame.VIDEOEXPOSE事件时,将部分需要被重绘的窗口直接绘制到屏幕上。
            某些显示环境具有自动拉伸(automatically stretching)所有窗口的选项。当启用此选项后,此自动拉伸会扭曲pygame窗口的外观。在pygame的例子目录中,有一个示例代码(prevent_display_stretching.py),它显示了如何在微软系统(Vista 以上系统)中关闭 Pygame 显示的自动拉伸属性。
     

    pygame.display.init

    初始化display模块
    int() -> None
    初始化pygame 的display模块。 在初始化之前,display模块无法执行任何操作。 当你调用更高级别的pygame.init()时,通常会自动处理这个问题。
    Pygame会在初始化时从几个内部显示后端中选择一个。 将根据当前用户的平台和权限选择显示模式。 在初始化display模块之前,可以设置环境变量SDL_VIDEODRIVER来控制使用哪个后端。 此处列出了具有多个选项的系统(多个显示后端的系统)。
    Windows : windib, directx
    Unix : x11, dga, fbcon, directfb, ggi, vgl, svgalib, aalib
    在某些平台上,可以将pygame 的display嵌入到现有窗口中。 为此,必须将环境变量SDL_WINDOWID设置为包含窗口ID或句柄的字符串。 初始化pygame 的display时,将检查环境变量。 请注意,在一个运行的窗口嵌入display可能会出现许多奇怪的副作用。
    多次调用它是无害的,重复调用没有效果。
    搜索pygame.display.init的示例

    pygame.display.quit

    取消初始化display模块
    quit() -> None
    这将关闭整个display模块。 这意味着将关闭任何活跃的显示器。程序退出时也会自动处理。
    多次调用它是无害的(没有任何问题),重复调用没有效果。
    搜索pygame.display.quit的示例

    pygame.display.get_init

    如果display模块被初始化时返回True
    get_init() -> bool
    如果当前pygame.display模块被初始化,返回True
    搜索pygame.display.get_init的示例

    pygame.display.set_mode

    初始化窗口或屏幕以进行显示(display)
    set_mode(resolution=(0,0), flags=0, depth=0) -> Surface
    (resolution -> 分辨率)
    这个函数将创建一个Surface对象。传入的参数是对显示类型的请求。实际创建的显示将是系统支持的最佳匹配。
    resolution参数是一对表示宽度和高度的数字。flags参数是其他选项的集合。depth参数表示用于颜色的位数。
    返回的Surface对象可以像常规Surface对象一样绘制,但发生的改变最终会显示到屏幕上。
    如果没有传递分辨率或设置为(0,0)并且pygame使用SDL版本1.2.10或更高版本,则创建的Surface将具有与当前屏幕分辨率相同的大小。如果仅将宽度或高度设置为0,则Surface对象将具有与屏幕分辨率相同的宽度或高度。使用1.2.10之前的SDL版本将引发异常。
    通常最好不要传递深度(depth)参数。它将默认为系统的最佳和最快颜色深度。如果您的游戏需要特定的颜色格式,您可以使用此参数控制深度。 Pygame 将为模拟一个非现成的颜色深度而耗费更多的时间。
    请求全屏显示模式时,有时无法完全匹配所请求的分辨率。在这些情况下,pygame将选择最接近的兼容匹配。返回的surface仍将始终与请求的分辨率匹配。
    flags参数控制您想要的显示类型。有几种可供选择,您甚至可以使用按位或运算符(管道“|”字符)组合多种类型。如果传递0或没有flags参数,它将默认为软件驱动的窗口。以下是您要选择的显示标志:
    pygame.FULLSCREEN创建一个全屏显示
    pygame.DOUBLEBUF 1.双缓冲模式 2.推荐和HWSURFACE或OPENGL一起使用
    pygame.HWSURFACE硬件加速,仅在FULLSCREEN下可以使用
    pygame.OPENGL创建一个OpenGL可渲染的显示器
    pygame.RESIZABLE创建一个可调整尺寸的窗口
    pygame.NOFRAME创建一个没有边框和控制按钮的窗口
    例如:

    ## 在屏幕中创建一个 700 * 400 的窗口
    screen_width=700
    screen_height=400
    screen=pygame.display.set_mode([screen_width,screen_height])
    

    搜索pygame.display.set_mode的示例

    pygame.display.get_surface

    获取当前显示的 Surface 对象。
    get_surface() -> Surface
    返回对当前显示的Surface对象。如果未设置任何显示模式,则返回None。
    搜索pygame.display.get_surface的示例

    pygame.display.flip

    将完整待显示的Surface对象更新到屏幕上
    flip() -> None
    这将更新整个显示器的内容。如果你的显示器模式使用标志pygame.HWSURFACE(硬件加速)和pygame.DOUBLEBUF(双缓冲),这将等待垂直会扫(vertical retrace)并切换显示界面。 如果你使用不同类型的显示模式,那么它将简单的更新整个显示界面的内容。
    使用pygame.OPENGL(使用OPENGL渲染)显示模式时,这将执行gl缓冲区交换。
    小甲鱼温馨提示:垂直回扫是与视频显示相关的时间测量,它代表了一个帧的结束和下一帧的开始时间之间的时间间隔。
    搜索pygame.display.flip的示例

    pygame.display.update

    更新部分软件界面显示
    update(rectangle=None) -> None
    update(rectangle_list) -> None
    这个函数可以看作是 pygame.display.flip() 函数在软件界面显示的优化版。 它只允许更新屏幕的一部分,而不是整个区域。 如果没有传递参数,它会就像pygame.display.flip()一样更新整个Surface区域。

    您可以传递一个或多个矩形给这个函数。 一次传递多个矩形比使用单个或部分矩形列表多次调用更新更有效。 如果传递多个矩形,在列表中包含None值是安全的,那么将会被忽略。
    此调用不能用于pygame.OPENGL显示模式下,否则将生成异常。
    搜索pygame.display.update的示例

    pygame.display.get_driver

    获取pygame 显示后端的名称
    get_driver() -> name
    Pygame在初始化时选择许多可用的显示后端之一。 这函数将返回用于显示后端的内部名称。 这可用于提供有关可能加速的显示功能的有限信息。 请参阅pygame.display.set_mode()中的SDL_VIDEODRIVER标志以查看一些常用选项。
    搜索pygame.display.get_driver的示例

    创建视频显示信息对象
    Info() -> VideoInfo
    创建一个对象,包含对当前图形环境一些属性的描述。 如果在pygame.display.set_mode()之前调用它,某些平台可以提供有关默认显示模式的信息。 也可以在设置完显示模式后调用该函数,以确认显示选项是否如愿以偿。 VidInfo对象将包含以下这些属性:
    hw:如果是 True,则表示启用硬件加速
    wm:如果是 True,则表示显示窗口模式
    video_mem:表示显存是多少兆字节(mb)。如果未知,则为0
    bitsize:表示每个像素存放多少位
    bytesize:表示每个像素存放多少字节
    masks:4 个值用于打包像素的 RGBA 值
    shifts:4 个值用于打包像素的 RGBA 值值
    losses:4 个值用于打包像素的 RGBA 值
    blit_hw:如果是 True,则表示加速硬件驱动的 Surface 对象绘制
    blit_hw_CC:如果是 True,则表示加速硬件驱动的 Surface 对象 colorkey 绘制
    blit_hw_A:如果是 True,则表示加速硬件驱动的 Surface 对象 pixel alpha 绘制
    blit_sw:如果是 True,则表示加速软件驱动的 Surface 对象绘制
    blit_sw_CC:如果是 True,则表示加速软件驱动的 Surface 对象 colorkey 绘制
    blit_sw_A:如果是 True,则表示加速软件驱动的 Surface 对象 pixel alpha 绘制
    current_h,current_w:

    1. 表示当前显示模式的宽和高(如果在 display.set_mode() 前被调用,则表示当前桌面的宽和高)
    2. current_w, current_h 在 Pygame 1.8.0 以后,SDL 1.2.10 以后才支持
    3. -1 表示错误,或者 SDL 版本太旧
      搜索pygame.display.info的示例

    pygame.display.get_wm_info

    获取有关当前窗口系统的信息
    get_wm_info() -> dict
    创建一个由操作系统填充数据的字典。 字符串和值由系统任意创建。 某些系统可能没有信息,将返回空字典。 大多数平台将返回一个“窗口”键,其值设置为当前显示的系统ID。
    新的pygame 1.7.1
    搜索pygame.display.get_wm_info的示例

    pygame.display.list_modes

    获取可用全屏模式可用的分辨率列表
    list_modes(depth=0, flags=pygame.FULLSCREEN) -> list
    此函数返回指定颜色深度的所支持的所有分辨率的列表。 如果给定参数没有可用的显示模式,则返回值将为空列表。 返回值为-1表示任何请求的分辨率都应该有效(对于窗口模式可能就是这种情况)。 模式大小从最大到最小排序。
    如果深度为0,SDL将为显示器选择当前/最佳颜色深度。 属性(flags)默认为pygame.FULLSCREEN,但您可能需要为特定的全屏模式添加其他标志。
    搜索pygame.display.list_modes的示例

    pygame.display.mode_ok

    选择显示模式的最佳颜色深度
    mode_ok(size, flags=0, depth=0) -> depth
    此函数使用与pygame.display.set_mode()相同的参数。 它用于确定所请求的显示模式是否可用。 如果无法设置显示模式,它将返回0。 否则,它将返回与所要求的显示最匹配的像素深度。
    通常不用理会深度参数,但某些平台可以支持多个显示深度。 如果传递此参数将暗示哪个深度是更好的匹配。
    要传递的最有用的标志是pygame.HWSURFACE,pygame.DOUBLEBUF,也许是pygame.FULLSCREEN。 如果无法设置这些显示标志,该函数将返回0。
    搜索pygame.display.init的示例

    pygame.display.gl_get_attribute

    获取当前显示界面的OpenGL属性(flag)的值
    gl_get_attribute(flag) -> value
    在使用pygame.OPENGL标志调用pygame.display.set_mode()之后,最好检查任何请求的OpenGL属性的值。 有关有效标志的列表,请参阅pygame.display.gl_set_attribute()。
    搜索pygame.display.gl_get_attribute的示例

    pygame.display.gl_set_attribute

    设置当前显示模式的 OpenGL 属性值。
    gl_set_attribute(flag, value) -> None
    当使用pygame.OPENGL标志调用pygame.display.set_mode()时,Pygame会自动处理设置OpenGL属性,如颜色和双缓冲区。 OpenGL提供了一些您可能想要控制的其他属性。 将其中一个属性作为标志及其适当的值传递。 这必须在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.gl_set_attribute的示例

    pygame.display.get_active

    当display在显示中处于活跃状态时返回True
    get_active() -> bool
    调用pygame.display.set_mode()后,Surface对象将被显示在屏幕上。 大多数窗口显示都可以被用户隐藏。 如果显示器Surface隐藏或最小化,则返回False。
    搜索pygame.display.get_active的示例

    pygame.display.iconify

    最小化显示Surface对象
    iconify() -> bool
    将显示的 Surface 对象最小化或隐藏。 并非所有系统和显示器都支持最小化显示。 如果该函数调用成功,该函数将返回True。
    当显示器最小化时,pygame.display.get_active()将返回False。 当窗口已最小化时,事件队列应接收ACTIVEEVENT事件。
    搜索pygame.display.iconify的示例

    pygame.display.toggle_fullscreen

    在全屏和窗口模式之间切换
    toggle_fullscreen() -> bool
    在窗口模式和全屏模式之间切换显示窗口。 此函数仅适用于UNIX X11显示驱动程序。 在大多数情况下,建议调用 pygame.display.set_mode() 创建一个新的显示模式进行切换。
    搜索pygame.display.toggle_fullscreen的示例

    pygame.display.set_gamma

    修改硬件显示的伽马坡道。
    set_gamma(red, green=None, blue=None) -> bool
    在硬件驱动显示上设置红色,绿色和蓝色伽玛值。 如果未传递green和blue参数,则它们将与red相等。 并非所有系统和硬件都支持伽马坡道,如果函数修改成功,它将返回True。
    伽玛值为1.0会创建线性颜色表。 较低的值会使屏幕变暗,较高的值会变亮。
    搜索pygame.display.set_gamma的示例

    pygame.display.set_gamma_ramp

    自定义修改硬件显示的 伽马坡道
    set_gamma_ramp(red, green, blue) -> bool
    使用自定义表(explicit lookup table)设置硬件驱动显示的红色,绿色和蓝色伽马坡道。 个参数必须是 256 位整数的列表。 整数应介于0和0xffff之间。 不是所有的操作系统和硬件都支持伽马坡道。如果函数修改成功,则返回 True。
    搜索pygame.display.set_gamma_ramp的示例

    pygame.display.set_icon

    更改显示窗口的图标
    set_icon(Surface) -> None
    设置系统将用于表示显示窗口(display window)的运行时图标。 所有窗口默认为窗口图标的简单pygame logo。
    你可以传递任何surfacee对象作为图标,但大多数操作系统要求图标的大小是 32 * 32。 图像可以具有colorkey透明度,该透明度将传递给系统。
    一些操作系统不允许修改显示中的窗口图标。对于这类操作系统,该函数需要再调用 pygame.display.set_mode() 前先创建并设置图标。
    搜索pygame.display.set_icon的示例

    pygame.display.set_caption

    设置当前窗口标题栏
    set_caption(title, icontitle=None) -> None
    如果显示器有窗口标题,则此功能将更改窗口上的名称。 一些操作系统支持最小化窗口时切换标题栏,通过设置 icontitle 参数实现。
    搜索pygame.display.set_caption的示例

    pygame.display.get_caption

    获取当前窗口标题
    get_caption() -> (title, icontitle)
    返回当前窗口的标题栏和最小化标题栏。这些通常是相同的值。
    搜索pygame.display.get_caption的示例

    pygame.display.set_palette

    设置显示界面的调色板。
    set_palette(palette=None) -> None
    这个函数将修改显示界面的 8 位调色板。这不会更改实际Surface对象的调色板,仅用于Surface对象的显示。 如果未传递palette参数,则将还原系统默认调色板。 调色板是一系列RGB三元组。
    搜索pygame.display.set_palette的示例
     
    以上文档,感谢鱼C论坛的分享:[Pygame] display | Pygame中文文档

    点我回顶部

     
     
     
     
     
     
     
    Fin.

    展开全文
  • display | Pygame中文文档

    2019-01-23 16:28:54
    pygame.displayPygame 中用于控制窗口和屏幕显示的模块。函数 pygame.display.init() — 初始化 display 模块 pygame.display.quit() — 结束 display 模块 pygame.display.get_init() — 如果 display ...

    display | Pygame中文文档


    pygame.display

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


    函数

    • 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()  —  Set the current window caption
    • pygame.display.get_caption()  —  Get the current window caption
    • pygame.display.set_palette()  —  Set the display color palette for indexed displays


    这个模块提供控制 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, aalib


    在一些平台上,可以将 Pygame 的 display 嵌入到已经存在的窗口中。如果这么做,环境变量 SDL_WINDOWID 必须被设置为一个包含窗口 ID 或句柄的字符串。当 Pygame 的 display 被初始化的时候,将检测环境变量。注意,在一个运行的窗口嵌入 display 会产生许多奇怪的副作用。

    多次调用该函数并没有任何问题,但也不会有什么效果。


    pygame.display.quit()

    结束 display 模块。

    quit() -> None

    这个函数会关闭整个 display 模块。这将意味着任何一个活跃的显示界面都将被关闭。当主程序退出时,该函数也会被自动调用。

    多次调用该函数并没有任何问题,但也不会有什么效果。


    pygame.display.get_init()

    如果 display 模块已经初始化,返回 True。

    get_init() -> bool

    如果 display 模块已经初始化,返回 True。


    pygame.display.set_mode()

    初始化一个准备显示的窗口或屏幕。

    set_mode(resolution=(0,0), flags=0, depth=0) -> Surface

    这个函数将创建一个 Surface 对象的显示界面。传入的参数用于指定显示类型。最终创建出来的显示界面将是最大可能地匹配当前操作系统。

    resolution 参数是一个二元组,表示宽和高。flags 参数是附件选项的集合。depth 参数表示使用的颜色深度。

    返回的 Surface 对象可以像常规的 Surface 对象那样去绘制,但发生的改变最终会显示到屏幕上。

    如果没有传入 resolution 参数,或者使用默认设置 (0, 0),且 Pygame 使用 SDL1.2.10 以上版本,那么创建出来的 Surface 对象将与当前屏幕用户一样的分辨率。如果只有宽或高其中一项被设置为 0,那么 Surface 对象将使用屏幕分辨率的宽或高代替它。如果 SDL 版本低于 1.2.10,那么将抛出异常。

    通常来说,最好的做法是不要传递 depth 参数。因为默认 Pygame 会根据当前操作系统选择最好和最快的颜色深度。如果你的游戏确实需要一个特殊的颜色格式,那么你可以通过控制 depth 参数来实现。Pygame 将为模拟一个非现成的颜色深度而耗费更多的时间。

    当使用全屏显示模式的时候,有时候无法完全匹配到需要的分辨率。在这种情况下,Pygame 将自动选择最匹配的分辨率使用,而返回的 Surface 对象将保持与需求的分辨率一致。

    flags 参数指定你想要的显示类型。提供几个选择给你,你可以通过位操作同时使用多个类型(管道操作符 "|")。如果你传入 0 或没有传入 flags 参数,默认会使用软件驱动窗口。这儿是 flags 参数提供的几个可选项:
     

    选项

    含义

    pygame.FULLSCREEN创建一个全屏显示
    pygame.DOUBLEBUF1. 双缓冲模式 
    2. 推荐和 HWSURFACE 或 OPENGL 一起使用
    pygame.HWSURFACE硬件加速,只有在 FULLSCREEN 下可以使用
    pygame.OPENGL创建一个 OPENGL 渲染的显示
    pygame.RESIZABLE创建一个可调整尺寸的窗口
    pygame.NOFRAME创建一个没有边框和控制按钮的窗口


    举个栗子:

    1. # 在屏幕中创建一个 700 * 400 的窗口
    2. screen_width=700
    3. screen_height=400
    4. screen=pygame.display.set_mode([screen_width, screen_height])

    复制代码



    pygame.display.get_surface()

    获取当前显示的 Surface 对象。

    get_surface() -> Surface

    返回当前显示的 Surface 对象。如果没有设置任何显示模式,那么返回 None。


    pygame.display.flip()

    更新整个待显示的 Surface 对象到屏幕上。

    flip() -> None

    这个函数将更新整个显示界面的内容。如果你的显示模式使用了 pygame.HWSURFACE(硬件加速)和 pygame.DOUBLEBUF(双缓冲)标志,那么将等待垂直会扫并切换显示界面。如果你使用不同类型的显示模式,那么它将简单的更新整个显示界面的内容。

    当使用 pygame.OPENGL(使用 OPENGL 渲染)显示模式时,将创建一个 gl 缓冲切换区。

    小甲鱼温馨提示:垂直回扫是与视频显示相关的时间测量,它代表了一个帧的结束和下一帧的开始时间之间的时间间隔。


    pygame.display.update()

    更新部分软件界面显示。

    update(rectangle=None) -> None

    update(rectangle_list) -> None

    这个函数可以看作是 pygame.display.flip() 函数在软件界面显示的优化版。它允许更新屏幕的部分内容,而不必完全更新。如果没有传入任何参数,那么该函数就像 pygame.display.flip() 那样更新整个界面。

    你可以传递一个或多个矩形区域给该函数。一次性传递多个矩形区域比多次传递更有效率。如果传入的是一个空列表或者 None,那么将忽略参数。

    该函数不能在 pygame.OPENGL 显示模式下调用,否则会抛出异常。


    pygame.display.get_driver()

    获取 Pygame 显示后端的名字。

    get_driver() -> name

    初始化的时候,Pygame 会从多个可用的显示后端中选择一个。这个函数返回显示后端内部使用的名字。可以用来提供有关显示性能加速的一些信息。可以参考 pygame.display.set_mode() 的 SDL_VIDEODRIVER 环境变量。


    pygame.display.Info()

    创建有关显示界面的信息对象。

    Info() -> VideoInfo

    创建一个对象,包含对当前图形环境一些属性的描述。在一些平台上,如果这个函数在 pygame.display.set_mode() 前被调用,可以提供一些关于默认显示模式的信息。也可以在设置完显示模式后调用该函数,以确认显示选项是否如愿以偿。

    返回的 VideoInfo 对象包含以下这些属性:
     

    属性

    含义

    hw如果是 True,则表示启用硬件加速
    wm如果是 True,则表示显示窗口模式
    video_mem表示显存是多少兆字节(mb),0 表示不清楚
    bitsize表示每个像素存放多少位
    bytesize表示每个像素存放多少字节
    masks4 个值用于打包像素的 RGBA 值
    shifts4 个值用于打包像素的 RGBA 值
    losses4 个值用于打包像素的 RGBA 值
    blit_hw如果是 True,则表示加速硬件驱动的 Surface 对象绘制
    blit_hw_CC如果是 True,则表示加速硬件驱动的 Surface 对象 colorkey 绘制
    blit_hw_A如果是 True,则表示加速硬件驱动的 Surface 对象 pixel alpha 绘制
    blit_sw如果是 True,则表示加速软件驱动的 Surface 对象绘制
    blit_sw_CC如果是 True,则表示加速软件驱动的 Surface 对象 colorkey 绘制
    blit_sw_A如果是 True,则表示加速软件驱动的 Surface 对象 pixel alpha 绘制
    current_w, current_h1. 表示当前显示模式的宽和高(如果在 display.set_mode() 前被调用,则表示当前桌面的宽和高)
    2. current_w, current_h 在 Pygame 1.8.0 以后,SDL 1.2.10 以后才支持
    3. -1 表示错误,或者 SDL 版本太旧



    pygame.display.get_wm_info()

    获取关于当前窗口系统的信息。

    get_wm_info() -> dict

    创建一个由操作系统填充数据的字典。一些操作系统可能不会往里边填充信息,则返回一个空字典。大多数平台将返回一个 "window" 键,对应的值是当前显示界面的系统 ID。

    Pygame 1.7.1 新增加的。


    pygame.display.list_modes()

    获取全屏模式下可使用的分辨率。

    list_modes(depth=0, flags=pygame.FULLSCREEN) -> list

    这个函数返回一个列表,包含指定颜色深度所支持的所有分辨率。如果显示模式非全屏,则返回一个空列表。如果返回 -1 表示支持任何分辨率(类似于窗口模式)。返回的列表由大到小排列。

    如果颜色深度是 0,SDL 将选择当前/最合适的颜色深度显示。flags 参数默认值是 pygame.FULLSCREEN,但你可能需要添加额外的全屏模式标志。


    pygame.display.mode_ok()

    为显示模式选择最合适的颜色深度。

    mode_ok(size, flags=0, depth=0) -> depth

    这个函数使用与 pygame.display.set_mode() 函数一样的参数。一般用于判断一个显示模式是否可用。如果显示模式无法设置,则返回 0。正常情况下将会返回显示需求的像素深度。

    通常不用理会 depth 参数,除非一些支持多个显示深度的平台,它会提示哪个颜色深度是更合适的。

    最有用的 flags 参数是 pygame.HWSURFACE,pygame.DOUBLEBUF 和 pygame.FULLSCREEN。如果这些标志不支持,那么该函数会返回 0。


    pygame.display.gl_get_attribute()

    获取当前显示界面 OpenGL 的属性值。

    gl_get_attribute(flag) -> value

    在调用设置了 pygame.OPENGL 标志的 pygame.display.set_mode() 函数之后,检查 OpenGL 的属性值不失为一个好的习惯。参考 pygame.display.gl_set_attribute() 关于合法标志的列表。


    pygame.display.gl_set_attribute()

    设置当前显示模式的 OpenGL 属性值。

    gl_set_attribute(flag, value) -> None

    当调用设置了 pygame.OPENGL 标志的 pygame.display.set_mode() 函数时,Pygame 会自动设置 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()

    当前显示界面显示在屏幕上时返回 True。

    get_active() -> bool

    pygame.display.set_mode() 函数被调用之后,Surface 对象将被显示在屏幕上。大多数窗口都支持隐藏,如果显示的 Surface 对象被隐藏和最小化,那么该函数将返回 False。


    pygame.display.iconify()

    最小化显示的 Surface 对象。

    iconify() -> bool

    将显示的 Surface 对象最小化或隐藏。并不是所有的操作系统都支持最小化显示界面。如果该函数调用成功,返回 True。

    当显示界面最小化时,pygame.display.get_active() 返回 False。事件队列将接收到 ACTIVEEVENT 事件。


    pygame.display.toggle_fullscreen()

    切换全屏模式和窗口模式。

    toggle_fullscreen() -> bool

    切换全屏模式和窗口模式。这个函数只在 unix x11 显示驱动下工作。在大多数情况下,建议调用 pygame.display.set_mode() 创建一个新的显示模式进行切换。


    pygame.display.set_gamma()

    修改硬件显示的 gama 坡道。

    set_gamma(red, green=None, blue=None) -> bool

    设置硬件驱动显示的红色、绿色和蓝色伽马值。如果没有传递 green 和 blue 参数,它们将与 red 值相等。不是所有的操作系统和硬件都支持伽马坡道。如果函数修改成功,则返回 True。

    伽马值为 1.0 创建一个线性颜色表,较低的值会使屏幕变暗,较高的值会使屏幕变量。


    pygame.display.set_gamma_ramp()

    自定义修改硬件显示的 gama 坡道

    set_gamma_ramp(red, green, blue) -> bool

    使用自定义表设置硬件驱动显示的红色、绿色和蓝色伽马坡道。每个参数必须是 256 位整数的列表。每位整数应该在 0 和 0xffff 之间。不是所有的操作系统和硬件都支持伽马坡道。如果函数修改成功,则返回 True。


    pygame.display.set_icon()

    修改显示窗口的图标。

    set_icon(Surface) -> None

    设置显示窗口执行时的图标。所有的操作系统默认都是以简单的 Pygame LOGO 作为图标。

    你可以传入任何 Surface 对象作为图标,但大多数操作系统要求图标的大小是 32 * 32。图标可以设置 colorkey 透明度。

    一些操作系统不允许修改显示中的窗口图标。对于这类操作系统,该函数需要再调用 pygame.display.set_mode() 前先创建并设置图标。


    pygame.display.set_caption()

    设置当前窗口的标题栏。

    set_caption(title, icontitle=None) -> None

    如果显示窗口拥有一个标题栏,这个函数将修改窗口标题栏的文本。一些操作系统支持最小化窗口时切换标题栏,通过设置 icontitle 参数实现。


    pygame.display.get_caption()

    获取当前窗口的标题栏。

    get_caption() -> (title, icontitle)

    返回当前窗口的标题栏和最小化标题栏,通常这两个值是一样的。


    pygame.display.set_palette()

    设置显示界面的调色板。

    set_palette(palette=None) -> None

    这个函数将修改显示界面的 8 位调色板。这不会改变 Surface 对象实际的调色板,仅用于 Surface 对象的显示。如果没有传入参数,将恢复系统默认调色板。调色板是一组 RGB 三元组序列。

    展开全文
  • pygamedisplay模块

    千次阅读 2019-01-23 16:37:56
    display-控制显示窗口和屏幕的Pygame模块 pygame.display.init—初始化显示模块 pygame.display.quit—取消初始化显示模块 pygame.display.get_init—如果已初始化显示模块,则返回True pygame.display.set_mode...

                          display-控制显示窗口和屏幕的Pygame模块

    pygame.display.init—初始化显示模块

    pygame.display.quit—取消初始化显示模块

    pygame.display.get_init—如果已初始化显示模块,则返回True

    pygame.display.set_mode—初始化窗口或屏幕以进行显示

    pygame.display.get_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—图标化显示表面

    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显示。Pygame有一个显示Surface,可以包含在窗口中,也可以全屏运行。创建显示后,您将其视为常规Surface。屏幕上无法立即看到更改; 您必须从两个翻转功能中选择一个来更新实际显示。显示的原点(x = 0和y = 0)位于屏幕的左上角。两个轴都朝向屏幕的右下方正向增加。pygame显示实际上可以在几种模式之一中初始化。默认情况下,显示器是基本的软件驱动帧缓冲器。您可以请求硬件加速和OpenGL支持等特殊模块。这些由传递给的标志控制pygame.display.set_mode()。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 examples目录中,有一个示例代码(prevent_display_stretching.py),它显示了如何在Microsoft Windows(Vista或更新版本)上禁用pygame显示的自动拉伸。

    pygame.display.init() 初始化显示模块

    init() - >无

    初始化pygame显示模块。在初始化之前,显示模块无法执行任何操作。当您呼叫更高级别时,通常会自动为您处理pygame.init()。Pygame会在初始化时从几个内部显示后端中选择一个。将根据当前用户的平台和权限选择显示模式。在初始化显示模块之前,SDL_VIDEODRIVER可以设置环境变量以控制使用哪个后端。此处列出了具有多个选项的系统。

    Windows : windib, directx

    Unix    : x11, dga, fbcon, directfb, ggi, vgl, svgalib, aalib

    在某些平台上,可以将pygame显示嵌入到现有窗口中。为此,SDL_WINDOWID必须将环境变量设置为包含窗口标识或句柄的字符串。初始化pygame显示时,将检查环境变量。请注意,在嵌入式显示器中运行时可能会出现许多奇怪的副作用。多次调用它是无害的,但是重复调用没有效果。

    pygame.display.quit() 取消初始化显示模块

    quit() - >无

    这将关闭整个显示模块。这意味着将关闭所有活动显示。程序退出时也会自动处理。多次调用它是无害的,但是重复调用没有效果。

    pygame.display.get_init() 如果已初始化显示模块,则返回True

    get_init() - > bool

    如果当前初始化pygame.display控制显示窗口和屏幕模块的pygame模块,则返回True 。

    pygame.display.set_mode() 初始化窗口或屏幕以进行显示

    set_mode(resolution =(0,0),flags = 0,depth = 0) - > Surface

    此功能将创建一个显示Surface。传入的参数是对显示类型的请求。实际创建的显示将是系统支持的最佳匹配。resolution参数是一对表示宽度和高度的数字。flags参数是其他选项的集合。depth参数表示用于颜色的位数。返回的Surface可以像常规Surface一样绘制,但最终会在监视器上看到更改。如果未传递分辨率或设置为(0,0)且pygame使用SDL 1.2.10或更高版本,则创建的Surface将具有与当前屏幕分辨率相同的大小。如果仅将宽度或高度设置为0,则Surface将具有与屏幕分辨率相同的宽度或高度。使用SDL1.2.10之前的 版本将引发异常。通常最好不要传递深度参数。它将默认为系统的最佳和最快颜色深度。如果您的游戏需要特定的颜色格式,您可以使用此参数控制深度。Pygame将模拟不可用的颜色深度,这可能很慢。请求全屏显示模式时,有时无法完全匹配所请求的分辨率。在这些情况下,pygame将选择最接近的兼容匹配。返回的曲面仍将始终与请求的分辨率匹配。flags参数控制您想要的显示类型。有几种可供选择,您甚至可以使用按位或运算符(管道“|”字符)组合多种类型。如果传递0或没有flags参数,它将默认为软件驱动的窗口。以下是您要选择的显示标志:

    pygame.FULLSCREEN    create a fullscreen display

    pygame.DOUBLEBUF     recommended for HWSURFACE or OPENGL

    pygame.HWSURFACE     hardware accelerated, only in FULLSCREEN

    pygame.OPENGL        create an OpenGL-renderable display

    pygame.RESIZABLE     display window should be sizeable

    pygame.NOFRAME       display window will have no border or controls

    例如:

    # Open a window on the screen

    screen_width=700

    screen_height=400

    screen=pygame.display.set_mode([screen_width,screen_height])

    pygame.display.get_surface() 获取当前设置的显示表面的参考

    get_surface() - > Surface

    返回对当前设置的显示Surface的引用。如果未设置显示模式,则返回None。

    pygame.display.flip() 将完整显示Surface更新到屏幕

    flip() - >无

    这将更新整个显示的内容。如果您的显示模式,使用标志pygame.HWSURFACE和pygame.DOUBLEBUF,这将等待垂直回扫和交换表面。如果您使用的是其他类型的显示模式,则只会更新曲面的全部内容。使用pygame.OPENGL显示模式时,这将执行gl缓冲区交换。

    pygame.display.update() 更新屏幕的部分以显示软件

    update(rectangle=None) -> None

    update(rectangle_list) -> None

    此功能类似于pygame.display.flip()软件显示的优化版本。它只允许更新屏幕的一部分,而不是整个区域。如果没有传递参数,它会更新整个Surface区域pygame.display.flip()。您可以将函数传递给单个矩形或一系列矩形。一次传递多个矩形比使用单个或部分矩形列表多次调用更新更有效。如果传递一系列矩形,则可以安全地在列表中包含None值,这将被跳过。此调用无法在pygame.OPENGL显示器上使用,并将生成异常。

    pygame.display.get_driver() 获取pygame显示后端的名称

    get_driver() - >Name

    Pygame在初始化时选择许多可用的显示后端之一。这将返回用于显示后端的内部名称。这可用于提供有关可能加速的显示功能的有限信息。请参阅SDL_VIDEODRIVER标志 pygame.display.set_mode()以查看一些常见选项。

    pygame.display.Info() 创建视频显示信息对象

    Info() - > VideoInfo

    创建一个包含多个属性的简单对象来描述当前图形环境。如果在pygame.display.set_mode()某些平台可以提供有关默认显示模式的信息之前调用此方法 。在设置显示模式以验证满足特定显示选项后,也可以调用此方法。VidInfo对象有几个属性:

    hw:         True if the display is hardware accelerated

    wm:         True if windowed display modes can be used

    video_mem:  The megabytes of video memory on the display. This is 0 if unknown

    bitsize:    Number of bits used to store each pixel

    bytesize:   Number of bytes used to store each pixel

    masks:      Four values used to pack RGBA values into pixels

    shifts:     Four values used to pack RGBA values into pixels

    losses:     Four values used to pack RGBA values into pixels

    blit_hw:    True if hardware Surface blitting is accelerated

    blit_hw_CC: True if hardware Surface colorkey blitting is accelerated

    blit_hw_A:  True if hardware Surface pixel alpha blitting is accelerated

    blit_sw:    True if software Surface blitting is accelerated

    blit_sw_CC: True if software Surface colorkey blitting is accelerated

    blit_sw_A:  True if software Surface pixel alpha blitting is accelerated

    current_h, current_w:  Height and width of the current video mode, or of the

      desktop mode if called before the display.set_mode is called.

      (current_h, current_w are available since SDL 1.2.10, and pygame 1.8.0)

      They are -1 on error, or if an old SDL is being used.

    pygame.display.get_wm_info() 获取有关当前窗口系统的信息

    get_wm_info() - > dict

    创建一个填充字符串键的字典。字符串和值由系统任意创建。某些系统可能没有信息,将返回空字典。大多数平台将返回一个“窗口”键,其值设置为当前显示的系统ID。

    pygame.display.list_modes() 获取可用的全屏模式列表

    list_modes(depth = 0,flags = pygame.FULLSCREEN) - > list

    此函数返回指定颜色深度的可能尺寸列表。如果给定参数没有可用的显示模式,则返回值将为空列表。返回值为-1表示任何请求的分辨率都应该有效(对于窗口模式可能就是这种情况)。模式大小从最大到最小排序。如果深度为0,SDL将为显示选择当前/最佳颜色深度。标志默认为pygame.FULLSCREEN,但您可能需要为特定的全屏模式添加其他标志。

    pygame.display.mode_ok() 为显示模式选择最佳颜色深度

    mode_ok(size,flags = 0,depth = 0) - > depth

    此函数使用与...相同的参数pygame.display.set_mode()。它用于确定所请求的显示模式是否可用。如果无法设置显示模式,它将返回0。否则,它将返回与所要求的显示最匹配的像素深度。通常深度参数不会传递,但某些平台可以支持多个显示深度。如果通过它将暗示哪个深度更好匹配。要传递的最有用的标志是pygame.HWSURFACE, pygame.DOUBLEBUF也许pygame.FULLSCREEN。如果无法设置这些显示标志,该函数将返回0。

    pygame.display.gl_get_attribute() 获取当前显示的OpenGL标志的值

    gl_get_attribute(flag) - > value

    在pygame.display.set_mode()使用pygame.OPENGL标志调用之后,最好检查任何请求的OpenGL属性的值。有关pygame.display.gl_set_attribute()有效标志的列表,请参阅 。

    pygame.display.gl_set_attribute() 请求显示模式的OpenGL显示属性

    gl_set_attribute(flag,value) - >无

    pygame.display.set_mode()使用pygame.OPENGL标志调用时,Pygame会自动处理设置OpenGL属性,如颜色和双缓冲。OpenGL提供了一些您可能想要控制的其他属性。将其中一个属性作为标志及其适当的值传递。这必须在之前调用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() 当显示器在显示器上处于活动状态时返回True

    get_active() - > bool

    之后pygame.display.set_mode()被称为显示器表面会显示在屏幕上。大多数窗口显示都可以被用户隐藏。如果显示Surface隐藏或图标化,则返回False。

    pygame.display.iconify() 图标化显示表面

    iconify() - > bool

    请求显示表面的窗口被图标化或隐藏。并非所有系统和显示器都支持图标化显示。如果成功,该函数将返回True。当显示图标化时pygame.display.get_active()将返回False。ACTIVEEVENT当窗口被图标化时,事件队列应该接收事件。

    pygame.display.toggle_fullscreen() 在全屏和窗口显示之间切换

    toggle_fullscreen() - > bool

    在窗口模式和全屏模式之间切换显示窗口。此功能仅适用于UNIX X11视频驱动程序。对于大多数情况,最好pygame.display.set_mode()使用新的显示标志进行调用。

    pygame.display.set_gamma() 更改硬件伽玛斜坡

    set_gamma(red, green=None, blue=None) -> bool

    在显示硬件上设置红色,绿色和蓝色伽玛值。如果未传递绿色和蓝色参数,则它们将与红色相同。并非所有系统和硬件都支持gamma斜坡,如果功能成功,它将返回True。伽玛值为1.0会创建线性颜色表。较低的值会使显示屏变暗,较高的值会变亮。

    pygame.display.set_gamma_ramp() 使用自定义查找更改硬件伽玛斜坡

    set_gamma_ramp(red, green, blue) -> bool

    使用显式查找表设置红色,绿色和蓝色伽马斜坡。每个参数应该是256个整数的序列。整数应介于0和0xffff之间。并非所有系统和硬件都支持gamma斜坡,如果功能成功,它将返回True。

    pygame.display.set_icon() 更改显示窗口的系统图像

    set_icon(Surface) - >无

    设置系统将用于表示显示窗口的运行时图标。所有窗口默认为窗口图标的简单pygame徽标。您可以传递任何曲面,但大多数系统需要32x32左右的较小图像。图像可以具有colorkey透明度,该透明度将传递给系统。某些系统在显示后不允许更改窗口图标。pygame.display.set_mode()在设置显示模式之前,可以在创建图标之前调用此功能。

    pygame.display.set_caption() 设置当前窗口标题

    set_caption(title,icontitle = None) - >无

    如果显示器有窗口标题,则此功能将更改窗口上的名称。某些系统支持用于最小化显示的备用较短标题。

    pygame.display.get_caption() 获取当前窗口标题

    get_caption() - >(title,icontitle)

    返回显示Surface的标题和icontitle。这些通常是相同的值。

    pygame.display.set_palette() 设置索引显示的显示调色板

    set_palette(palette = None) - >无

    这将改变8位显示器的视频显示调色板。这不会更改实际显示Surface的调色板,只会更改用于显示Surface的调色板。如果未传递调色板参数,则将还原系统默认调色板。调色板是RGB三连音的序列 。

     

    展开全文
  • I'm new to Python and I started learning with "Python crash course" by Eric ... I'm in the beginning of Pygame chapter and I follow the code, but my loaded images always look damaged and I don't ...
  • Pygame display部分

    2019-06-08 21:17:37
    这个模块提供了pygame显示部分。无论是窗口化或全屏时,都会有一...通过pygame.display.set_mode()创建新的显示平面,会关闭先前的显示。 mode_ok(),list_modes(),info()可以获取display的信息。 当显示模式配...
  • Pygame详解(二):display 模块

    万次阅读 多人点赞 2019-01-06 21:52:50
    pygame.display Pygame 中用于控制窗口和屏幕显示的模块。 注:为了适应语境,display 在该文档中有时翻译为“显示”,有时翻译为“显示界面”。 函数 pygame.display.init() — 初始化 display 模块 pygame....
  • import sys #玩家退出游戏时使用sys模块 import pygame #包含开发游戏所需的功能 def run_game(): """初始化游戏,并创建一个屏幕对象""" ... pygame.display.set_caption("Alien Invasion") #设置当前窗口标题
  • 全屏显示把第二个参数设置为FULLSCREEN时,就能得到一个全屏窗口了screen = pygame.display.set_mode((640, 480), FULLSCREEN, 32)注意:如果你的程序有什么问题,很可能进入了全屏模式就太容易退出...
  • pygame 显示text

    2020-08-14 15:07:12
    screen = pygame.display.set_mode((600,800)) #使用pygame.display.set_mode()方法创建一个指定大小的Surface对象 screen.get_rect() myfont = pygame.font.Font(font_path,font_size) text_surface = myfont.re...
  • python pygame模块display

    2020-06-26 19:28:34
    Pygame详解(二):display 模块 https://blog.csdn.net/qq_41556318/article/details/85952413 其他友情链接: Pygame详解https://blog.csdn.net/qq_41556318/category_9283450.html pygame.display pygam中用于...
  • display|[pygame]中文文档

    千次阅读 2017-11-28 18:57:54
     这个模块控制pygame显示界面(display)的各种函数。pygame的surface对象既可显示为一个窗口,也可以显示为全屏。当你创建并显示一个常规的surface对象后,在该对象上的改变并不会立即显示到屏幕,你必须选择一个...
  • 解决pygame模块在pycharm中运行没有窗口的...screen = pygame.display.set_mode((480, 700)) while True: pass pygame.quit() 解决方法 更新pip3到最新版20.0.2重新加载环境即可。 全部更新完成之后点击 apply ...
  • 怎样在pygame显示中文

    万次阅读 多人点赞 2016-12-05 09:47:06
    pygame中,显示文字是挺麻烦的事情,为了显示文字,需要用到5、6个语句。比如为了显示一句话: ZiTiDuiXiang=pygame.font.Font('freesansbold.ttf',32) WenBenKuangDuiXiang=ZiTiDuiXiang.render("Hello world!", ...
  • pygame显示中文

    千次阅读 2009-03-23 12:53:18
    pygame显示中文 最近对python产生了兴趣,进而又对pygame产生了兴趣。我本身对游戏编程就很着迷,而pygame的简单又让我的着迷程度更进了一步。 做一个堂堂的中国人,自然希望在游戏中的文字是中文了,但是在...
  • 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_...
  • import pygame pygame.init() width = 400 height = 300 windowsize = [width,...screen = pygame.display.set_mode(windowsize) colour = pygame.colour.Color('#F54455') row = 0 done = False while not d...
  • 十六、PyGame显示图片

    2021-01-28 11:38:48
    十六、PyGame显示图片!
  • 主要有两点区别: 一是: pygame.display.flip() 更新整个待显示的Surface对象到屏幕上 pygame.display.update() ... 当使用OpenGL的时候,能使用pygame.display.update()来更新窗口,需要使用pygame.di...
  • 我正处于Pygame一章的开头,并且遵循代码,但是我加载的图像总是看起来损坏,我也知道为什么.代码来自本书.第一个文件:import pygameclass Ship():def __init__(self, screen):"""Initialize the ship and set its ...
  • LINE_WIDTH * 2), 0) image_data = pygame.surfarray.array3d(pygame.display.get_surface()) pygame.display.update() clock = pygame.time.Clock() clock.tick(90) return image_data, reward, terminal,self....
  • Python 技术篇-使用pygame库展示界面添加图片不显示问题解决办法。 用pygame库做音乐播放器封面的时候发现添加的图片没有显示。 后来发现添加pygame.display.update()就好了。 原因我们虽然把图片加载了进来,但是...
  • Python:pygame界面显示文字详解

    万次阅读 2018-09-09 16:56:09
     再简单的游戏界面中均涉及文字处理,本节主要解读一下pygame模块中对文字及字体的处理方式。 同样,以实例进行讲解,先看看代码: #!/usr/bin/env python # -*- coding: utf-8 -*-   import sys ...
  • 设置显示模式(Setting Display Modes) Author: Pete Shinners Contact: pete@shinners.org 介绍(Introduction)        在pygame中设置显示模式会在显示器上创建可见的图像表面【surface】。...
  • 这篇文章主要介绍了python3下pygame如何实现显示中文,文中通过示例代码介绍的非常详细,对大家的... pygame.display.set_caption('pygame程序的界面的中文设置') #窗口标题,中文需要特别的设置 background = pyga

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,152
精华内容 2,060
关键字:

displaypygame不显示