1、引言
窗体是游戏的交互界面,一般我们会遇到窗口大小可调,窗口无边框,全屏显示,最小化设计,改名字,换图标等设计需求。
屏幕绘制有如下重要函数:
2、屏幕模式函数
pygame.display.set.mode
#print(pygame.display.Info())
#screen = pygame.display.set_mode(size, pygame.RESIZABLE) #窗口大小可调
#screen = pygame.display.set_mode(size, pygame.NOFRAME) #窗口无边框
screen = pygame.display.set_mode(size, pygame.FULLSCREEN) #窗口全屏显示
每种显示方式都要配合对应的处理机制。
大小可调时要有尺寸变化的响应,无边框模式和全屏模式应该设计游戏退出方式,全屏模式要注意分辨率设计。
按键Esc退出全屏模式:
elif event.key == pygame.K_ESCAPE:
sys.exit()
3、屏幕信息函数
窗口大小修改后自适应修改游戏屏幕显示信息:
elif event.type == pygame.VIDEORESIZE:
size = width, height = event.size[0], event.size[1]
screen = pygame.display.set_mode(size, pygame.RESIZABLE)
4、窗口标题和图标设计
标题设计:
pygame.display.set_caption
pygame.display.get_caption
pygame.display.set_caption("Pygame壁球")
图标设计:
pygame.display.set_icon
5、屏幕控制与刷新函数
屏幕控制:根据屏幕的信息控制游戏是否暂停。
pygame.display.get_active()
if pygame.display.get_active(): # 只有窗体是激活的,小球才移动。
ballrect = ballrect.move(speed)
屏幕刷新函数:有如下两种
前者更新整个屏幕信息,后者只需要更新运动个体的信息,对于场景固定的优秀,推荐使用后者。