pygame常用模块之窗口管理和屏幕显示——display
1. 创建窗口所使用函数
pygame.display.set_mode(size=(width,height),flags=0,depth=0)
- size代表创建窗口的尺寸,所接收的对象必须是一个二元组(width,height)。pygame窗口的坐标系如下图所示:
注:坐标系不包括标题栏 - flags有如下可选值且含义如下:
1.pygame.FULLSCREEN——全屏
2.pygame.DOUBLEBUF——双缓冲,推荐在HWSurface或OpenGL选项打开时使用
3.pygame.HWSURFACE——硬件加速,只在全屏模式下可用
4.pygame.OPENGL——利用OpenGL进行绘制
5.pygame.RESIZABLE——可缩放
6.pygame.NOFRAME——无边框与控件
注:flags的值可以通过符号‘‘|’’叠加使用 - depth表示颜色位深,即每个像素用多少位表示,单位为bit。一般无需专门设置该参数
例:创建一个无标题栏的宽400高300的窗口:
pygame.display.set_mode((400,300))
2.设置标题
使用函数为:
set_caption(title,icontitle=None)
title为窗口标题的名称,icontitle为窗口最小化时的标题名称
实际使用只需输入如下代码:
pygame.display.set_caption("我的毕业设计","毕业设计")
3.设置图标
使用函数为:
set_icon(Surface)
参数Surface代表图标所在的Surface对象。
创建icon surface的方法如下:
icon=pygame.image.load("图片地址")
完整使用方法为:
icon=pygame.image.load("图片地址")
pygame.display.set_icon(icon)
4.更新窗口
- pygame.display.update()——主要用于非双缓冲,可进行局部区域的更新
- pygame.display.flip()——主要用于双缓冲,也可在非双缓冲下正常工作
5.案例
代码如下:
# 引入相关模块
import pygame,sys
# 函数声明与定义
def main():
# 初始化
pygame.init()
# 设置窗口大小
a=pygame.display.set_mode((400,300))
pygame.display.set_caption("demo")
icon=pygame.image.load("2.ico")
pygame.display.set_icon(icon)
# 主循环
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
# 用户点击叉号结束
pygame.quit()
sys.exit()
# 刷新窗口页面
pygame.display.flip()
if __name__=='__main__':
# 调用函数
main()
运行效果如下: