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一下就要擦掉重写,这样一来别人看的基本都是我在写黑板报的过程,看到的都是不完整的黑板报;

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

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

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

        

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐