您现在的位置是:首页 > 正文

pygame.display.set_mode()

2024-02-29 15:48:40阅读 1

screen = pg.display.set_mode( size=(0, 0),  flags=0,  depth=0,  display=0,  vsync=0 )  

功能:创建Surface屏幕对象

参数说明:

1. size: 二元元组,分别代表宽度和高度

2. flags:标志位:具体意思见下表,

      如果不用什么特性,就指定0 

   #   0 用户设置的窗口大小

   #   pygame.FULLSCREEN 创建一个全屏窗口

   #   pygame.HWSURFACE  如果想创建一个硬件显示(surface会存放在显存里,从而有着更高的速度),

                                               必须和FULLSCREEN同时使用:flags=pg.HWSURFACE|pg.FULLSCREEN.

   #   pygame.OPENGL 创建一个OPENGL渲染的窗口

   #   pygame.RESIZABLE 创建一个可以改变大小的窗口:

for event in pg.event.get():
    if event.type == pg.QUIT:
        exit()
    if event.type == pg.VIDEORESIZE:
        SCREEN_SIZE = event.size
        screen = pg.display.set_mode(SCREEN_SIZE, pg.RESIZABLE)

   #   pygame.NOFRAME 创建一个没有边框的窗口

   #   pygame.DOUBLEBUF  创建一个“双缓冲“窗口, 这时要使用pg.display.flip()来刷新显示,而非pg.display.update()。

                                              pygame.display.update()是将数据画到前面显示,而pg.display.flip()是交替显示的意思。

                    “双缓冲”可以做一个比喻:我的任务就是出黑板报,如果只有一块黑板,那我得不停的写,全部写完了稍微

                    Show一下就要擦掉重写,这样一来别人看的基本都是我在写黑板报的过程,看到的都是不完整的黑板报;

                    如果我有两块黑板,那么可以挂一块给别人看,我自己在底下写另一块,写好了把原来的换下来换上新的,

                    这样一来别人基本总是看到完整的内容了。双缓冲就是这样维护两个显示区域,快速的往屏幕上换内容,

                    而不是每次都慢慢地重画。

        

网站文章

  • Linunx oracle映射,Linux下安装oracle 11g数据库(一)

    Linux下安装oracle 11g数据库(一)1 内存的要求最低配置: 1 GB of RAM推荐配置: 2 GB of RAM or more确定内存大小,输入下面的命令:grep MemTota...

    2024-02-29 15:48:34
  • linux 编译c 默认标准是c99吗,将C标准更改为c99后,使用UNIX time.h的错误

    您好,并提前感谢此平台过去为我解决的所有问题。不幸的是我发现了一个我无法解决的问题。将C标准更改为c99后,使用UNIX time.h的错误我对cmake非常陌生,并用新的可执行文件和一些库文件扩展了...

    2024-02-29 15:48:27
  • android+浏览器打开app+intent获取不到,ios app首次被其他浏览器打开无法获取参数...

    本帖最后由 中国石头 于 2019-4-8 14:09 编辑我使用了openinstall模块。配置OK。使用Android,每次进入页面都可以获取参数。不管app有没有在运行。使用苹果6s测试时,如...

    2024-02-29 15:48:19
  • 服务器配置jupyter 最新发布

    该命令执行后会生成一个./jupyter/jupyter_notebook_config.py的文件,你需要打开该文件,该文件的位置基本就是在本目录,较为容易找到。然后运行完passwd()之后会得到...

    2024-02-29 15:47:51
  • Vue中登陆超时,返回登陆页面

    首先登陆时,将登陆接口返回的 token 用 localStorage 保存起来,然后在 axios 的请求拦截里将 token 添加到请求头部 header 里,作为之后前后端的通信票据// axi...

    2024-02-29 15:47:39
  • mac 下安装使用pear/pecl

    mac 下安装使用pear/pecl

    首先要为大家分享的内容是PECL 和 PEAR 他们之间的不同和相同之处。PEAR 是“PHP Extension and Application Repository”的缩写,即PHP扩展和应用仓库...

    2024-02-29 15:47:10
  • 初识openCV & VS编译C++项目

    初识openCV & VS编译C++项目

    记录学习openCV碰到的安装问题以及一些常见函数

    2024-02-29 15:47:02
  • 蔚来降价,降晚了?

    蔚来降价,降晚了?

    来源|财经杂志作者|晚点团队二季度,蔚来处于一代平台向二代平台的换代期,换代的阵痛体现在了财务数据上。8 月 29 日晚,蔚来交出一份糟糕的二季度财报。收入、销量、毛利率、现金储备均同、环比下滑,仅有...

    2024-02-29 15:46:55
  • java startsWith和endsWith的用法

    public class StringDemo{ public static void main(String args[]){ String s1="this is my original...

    2024-02-29 15:46:26
  • 理解 MyBatis 是如何在 Spring 容器中初始化的

    MyBatis 初始化过程就是 生成一些必须的对象放到 Spring 容器中 。问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确的找到分析问题的切入点?本文将针对这些问...

    2024-02-29 15:46:18