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一下就要擦掉重写,这样一来别人看的基本都是我在写黑板报的过程,看到的都是不完整的黑板报;
如果我有两块黑板,那么可以挂一块给别人看,我自己在底下写另一块,写好了把原来的换下来换上新的,
这样一来别人基本总是看到完整的内容了。双缓冲就是这样维护两个显示区域,快速的往屏幕上换内容,
而不是每次都慢慢地重画。