持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情
pygame是python中很好上手的第三方库,主要用于开发2D游戏,并且随时按需下载和引入。
pygame主要用于开发2D游戏,开源 免费 跨平台,可以很好的支持图形化的界面。一段代码就可以实现非常有趣的游戏
一、下载和安装
环境: Python(3.7 以上版本最佳,官网下载后安装即可)
安装:(有两种方法)
-
方法1、在cmd命令提示符工具中使用指令安装(推荐)
pip install pygame -
方法2、官网下载pygame 安装包,然后使用指令安装
选择自己的操作系统对应的版本进行下载,然后在命令提示符工具中输入指令
Python - m pip install --user pygame-2.0.2-cp27m-win_amd64.whl
验证:安装成功后,输入指令进行验证:
python -m pygame --version
二、框架以及初始化
想要顺利的运行出一个pygame游戏的窗口,需要先搭建框架,游戏中的所有内容都要在框架中运行,写好后可以直接复用,包括:
- 导入模块
- 初始化pygame
- 设置屏幕窗口(大小、标题等)
- 主循环(监听事件状态、退出程序以及更新视图内容都在这里设置)
运行后可以看到一个空的黑色游戏窗口,完整代码如下:
#导入所需的模块
import sys
import pygame
# 初始化
pygame.init()
#游戏窗口(400x400)
screen = pygame.display.set_mode((400,400))
# 窗口标题
pygame.display.set_caption('第一个pygame程序')
while True:
# 循环获取pygame事件
for event in pygame.event.get():
# 关闭窗口事件被触发时
if event.type == pygame.QUIT:
pygame.quit() #卸载pygame模块
sys.exit() #终止程序
pygame.display.flip() #更新屏幕内容
注:不写while主循环,程序会出现闪现的效果;不写QUIT的监听事件,无法关闭窗口
三、pygame事件
事件的交互是增强游戏体验感的关键,下面是常用的一些事件,比如键盘、鼠标、游戏手柄的操作:
| 事件 | 含义 |
|---|---|
| QUIT | 用户按下关闭按钮 |
| ATIVEEVENT | Pygame被激活或者隐藏 |
| KEYDOWN | 键盘被按下 |
| KEYUP | 键盘被放开 |
| MOUSEMOTION | 鼠标移动 |
| MOUSEBUTTONDOWN | 鼠标按下 |
| MOUSEBUTTONUP | 鼠标放开 |
| JOYAXISMOTION | 游戏手柄 |
| JOYBALLMOTION | 游戏球 |
| JOYHATMOTION | 游戏手柄 |
| JOYBUTTONDOWN | 游戏手柄按下 |
| JOYBUTTONUP | 游戏手柄放开 |
| VIDEORESIZE | Pygame窗口缩放 |
| VIDEOEXPOSE | Pygame窗口部分公开 |
| USEREVENT | 触发了一个用户事件 |
四、案例
在官网中也可以看到非常多的游戏案例:www.pygame.org/tags/all