如何在 Python 中开发游戏

2025年3月17日 | 阅读 7 分钟

Python 是最具适应性的语言,几乎被各行各业所使用,包括游戏开发、Web 开发、机器学习、人工智能和 GUI 应用程序。

游戏是使用 pygame 包开发的,它是 Python 的内置功能。通过对 Python 编程有基本的了解,我们可以利用 pygame 模块创建具有适当动画、声音效果和音乐的视觉吸引人的游戏。

Pygame 是一个用于创建视频游戏的跨平台库。它拥有声音库和计算机视觉功能,为玩家提供典型的游戏体验。

Pete Shinners 正在开发它来取代 PySDL。

Pygame 的先决条件

我们需要理解 Python 编程语言才能学习 Pygame。

安装 Pygame

要安装 Pygame,请打开命令行终端并输入以下命令。

我们也可以通过 IDE 安装。有关进一步的安装指南,请访问我们完整的 pygame 教程 (pygame)。在这里,您将找到所有必需的 pygame 解释。

简单的 Pygame 示例

以下是创建简单 Pygame 窗口的示例。

输出

How to develop a game in Python

说明

提供的代码打开一个 400x500 像素的 Pygame 窗口,并启动一个始终监听事件的循环。如果检测到 QUIT 事件(通常是用户关闭窗口时),循环会将'done'变量更改为 True,这将结束循环并终止程序。'pygame.display.flip()'方法更新显示并确保所有更改都显示在屏幕上。简而言之,代码生成了一个小的 Pygame 窗口,该窗口一直保持活动状态,直到用户关闭它,从而展示了事件驱动的基本程序结构。

所有图形都将在 Pygame 窗口中绘制。

让我们来理解上面程序的 D 基本语法。

  • import pygame: 这是使我们能够访问 Pygame 所有功能的模块。
  • init(): 它用于初始化 Pygame 的每个必要模块。
  • display.set_mode((width, height)): 它用于调整窗口的大小。它将返回一个 surface 对象。图形操作通过 surface 对象进行。
  • event.get(): 结果是一个空的事件队列。如果我们不调用它,操作系统会将游戏视为无响应,并且窗口消息将开始累积。
  • QUIT: 当我们点击窗口角落的关闭按钮时,它用于处理退出事件。
  • display.flip(): 游戏中的任何更新都会在此中反映。当我们进行任何更改时,都必须调用 display.flip() 函数。

任何形状都可以在 Pygame surface 上绘制,包括漂亮的字体和图片。Pygame 中的许多内置方法允许您在屏幕上绘制几何图形。这些形状代表了创建游戏的第一步。

让我们通过下面的插图来了解在屏幕上绘制一个形状。

示例 -

输出

How to develop a game in Python

说明

提供的 Python 程序使用 Pygame 包创建了一个图形窗口,并在其中绘制了各种几何图形。该程序创建了一个 400x300 像素的 Pygame 窗口,然后启动一个始终监听事件的循环,确保窗口在用户关闭它之前一直保持打开状态。该循环在开始时会清空屏幕,然后使用 Pygame 的绘图例程创建各种具有不同颜色和线宽的形状。这些形状包括直线、多边形、椭圆、圆形和弧线。每个形状都有其正确的坐标和属性定义。最后,使用'pygame.display.flip()'来刷新显示。程序在窗口关闭时终止 Pygame。

该应用程序作为 Pygame 绘图能力的多样性和灵活性示例,并为开发交互式图形应用程序提供了一个框架。通过调整坐标、颜色和线宽等参数,开发人员可以在 Pygame 的图形环境中创建各种视觉组件。这使得构建交互式多媒体应用程序、游戏和模拟成为可能。

示例 - 使用 Pygame 开发贪吃蛇游戏

程序 -

输出

How to develop a game in Python

如果蛇碰到自己,游戏将终止并显示以下消息。

How to develop a game in Python

要继续,只需单击“确定”按钮。Pycharm 终端显示我们的得分(我们使用了 Pycharm IDE,但您可以使用任何 Python IDE)。

How to develop a game in Python

说明

提供的 Python 脚本使用 Pygame 包创建了一个简单的贪吃蛇游戏。它为蛇及其组成部分(单独的方块)创建了类。Pygame 用于设置游戏窗口,该窗口具有网格结构和移动的蛇。吃掉一个“零食”方块后,蛇会变长,如果它碰到自己或边界墙壁,游戏就会结束。

为了管理蛇的方向、在网格的随机位置生成零食、检测蛇头和身体之间的碰撞、更新游戏状态以及重新绘制游戏窗口,游戏逻辑必须处理用户输入。为了控制游戏交互和视觉更新,脚本利用了 Pygame 的事件处理和绘图方法。它还包含一个基本的消息框功能,该功能使用 Tkinter 向玩家显示消息,例如游戏结束时。总的来说,该脚本展示了 Pygame 游戏编程的关键概念,并提供了经典贪吃蛇游戏的初步实现。