从今天开始,学习Pygame
因为pygame与turtle库不一样,是一个第三方库.
因此,需要我们手动去安装pygame库
我们打开命令行窗口:
pip install pygame
截止今天,pygame库版本已经更新到2.0.1了
# /usr/bin/python3
# Author: 爱编程的章老师
# @Time: 2020/12/30 0030
# E-mail: [email protected]
import sys
import pygame
pygame.init() # 初始化pygame
screen = pygame.display.set_mode(size=(800, 600)) # 设置窗口大小,并返回窗体
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
import sys
导入sys库
因为这里我们只用到了exit()函数
所以,也可以写成
from sys import exit
exit() 用来当我们不想玩游戏的时候,退出游戏结束程序用的.
import pyame
导入我们的主角:pygame库
这个库,功能非常强大.随着我们的学习,慢慢了解它,熟悉它,从而爱上它.
pygame.init()
这个init是我们程序里经常要用到的一个单词:
如下,这是百度翻译给出的翻译.
这里
作用就是用来初始化的其本质就是检测电脑设备是否能够正常运行.
返回值是一个元组
screen = pygame.display.set_mode(size=(800, 600)) # 设置窗口大小,并返回窗体
set_mode()的参数比较复杂,我们可以看一下这个函数的定义:
def set_mode(size=00, flags=0, depth=0, display=0, vsync=0)
简略做下介绍:
size: 是一个元组(tuple),第一个参数是窗口的宽,第二个参数是窗口的高
flags:指定你想要的显示类型
取值列表如下:
选项 | 含义 |
---|---|
pygame.FULLSCREEN | 创建一个全屏显示 |
pygame.DOUBLEBUF | 1. 双缓冲模式 2. 推荐和 HWSURFACE 或 OPENGL 一起使用 |
pygame.HWSURFACE | 硬件加速,只有在 FULLSCREEN 下可以使用 |
pygame.OPENGL | 创建一个 OPENGL 渲染的显示 |
pygame.RESIZABLE | 创建一个可调整尺寸的窗口 |
pygame.NOFRAME | 创建一个没有边框和控制按钮的窗口 |
如果有多个选项要同时先的时候,用"|"来连接不同的值
depth:表示使用的颜色深度
通常不会改这个值,默认值时,Pygame会根据当前操作系统选择最好和最快的颜色深度
vsync:用来设置垂直同步的.不过效果不怎么给力.一般默认值0即可,如果非要设置,取1就可.不过,不一定有效果
display:获取display的索引.0表示当前的display对象.同样,取默认值即可
总结:
set_mode()在使用的时候,通常只设置第一个参数,即宽和高即可
无限循环:
作用:进入游戏循环
for event in pygame.event.get():
pygame.event.get() 函数返回一个pygame的事件列表.
这个循环是我们对事件的处理循环.当我们需要响应pygame的事件的时候,就要在这里处理.
具体的事件,回头再详解.
结合第七行,我们处理了退出程序的事件(即点了窗口的那个X的事件)
事件名称:pygame.QUIT
if event.type == pygame.QUIT:
判断事件类型,是否为退出程序事件
sys.exit()
退出程序
以上,就是pygame的最小程序框架.我们后续的内容,都将在这个框架的基础上进行操作.
请牢记.