快速上手pygame小游戏

180 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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游戏的窗口,需要先搭建框架,游戏中的所有内容都要在框架中运行,写好后可以直接复用,包括:

  1. 导入模块
  2. 初始化pygame
  3. 设置屏幕窗口(大小、标题等)
  4. 主循环(监听事件状态、退出程序以及更新视图内容都在这里设置)

运行后可以看到一个空的黑色游戏窗口,完整代码如下:

#导入所需的模块
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用户按下关闭按钮
ATIVEEVENTPygame被激活或者隐藏
KEYDOWN键盘被按下
KEYUP键盘被放开
MOUSEMOTION鼠标移动
MOUSEBUTTONDOWN鼠标按下
MOUSEBUTTONUP鼠标放开
JOYAXISMOTION游戏手柄
JOYBALLMOTION游戏球
JOYHATMOTION游戏手柄
JOYBUTTONDOWN游戏手柄按下
JOYBUTTONUP游戏手柄放开
VIDEORESIZEPygame窗口缩放
VIDEOEXPOSEPygame窗口部分公开
USEREVENT触发了一个用户事件

四、案例

在官网中也可以看到非常多的游戏案例:www.pygame.org/tags/all

image.png