Pygame 教程-Python Pygame(游戏开发库)

整理:python架构师

Python 是最受欢迎的编程语言,可以说它是下一代编程语言。在计算机科学的每一个新兴领域,Python 都活跃地发挥着作用。Python 拥有众多用于不同领域的库,例如 机器学习(Numpy、Pandas、Matplotlib)、人工智能(Pytorch、TensorFlow)和游戏开发(Pygame、Pyglet)。

在这个教程中,我们将学习使用 Pygame(Python 库)进行游戏开发。

Pygame

  • Pygame 是一套跨平台的 Python 模块,用于创建视频游戏。

  • 它包含了与 Python 编程语言一起使用的计算机图形和声音库。

  • Pygame 是由 Pete Shinners 正式编写,以替代 PySDL。

  • Pygame 适合创建客户端应用程序,可以被包装成独立可执行文件。

学习 Pygame 的先决条件:

在学习 pygame 之前,我们需要了解我们想开发什么样的游戏。

  • 要学习 pygame,需要具备 Python 的基础知识。

Pygame 安装

在 Windows 中安装 Pygame

在安装 Pygame 之前,应该在系统中安装 Python,最好安装 3.6.1 或更高版本,因为它对初学者更友好,并且运行速度更快。安装 Pygame 主要有两种方式,如下所示:

1. 通过 pip 安装:安装 Pygame 的好方法是使用 pip 工具(Python 用于安装包的工具)。命令如下:



py -m pip install -U pygame --user




2. 通过 IDE 安装:第二种方法是通过 IDE 安装,这里我们使用 Pycharm IDE。在 Pycharm 中安装 pygame 很简单。我们可以通过在终端运行上述命令或使用以下步骤安装:

  • 打开 文件 选项卡,点击 设置 选项。

  • 选择 项目解释器 并点击 + 图标。

  • 它将显示搜索框。搜索 pygame 并点击 安装包 按钮。



[**资源分享**](https://mp.weixin.qq.com/s?__biz=Mzg2MTYwOTM3MA==&mid=2247495196&idx=1&sn=a3b56b0afe431c57ef2824ed09fc90d3&chksm=ce1622e9f961abff941f84266c832093bc5ed66eed83fbf0ac8e3fa275918ec8ef63468f0a50&token=350626632&lang=zh_CN&scene=21#wechat_redirect)

👉点击领取:最全Python资料合集


要检查 pygame 是否正确安装,可以在 IDLE 解释器中输入以下命令并按 Enter:



import pygame




如果命令成功运行且没有抛出任何错误,这意味着我们已经成功安装了 Pygame,并找到了正确的 IDLE 版本用于 pygame 编程。

在 Mac 中安装 Pygame

安装 Pygame 的步骤如下:

  • 访问 pygame 的官方网站 pygame.org,它将显示如下窗口,下载 pygame-1.9.1release-python.org-32bit-py2.7-macosx10.3.dmg:

注意:如果您使用的是不同版本的 Python,请下载最后一个链接。
  • 双击下载的文件并解压缩。现在双击解压缩的 mpkg 文件以运行安装程序。按照指示安装 pygame。

  • 启动终端(Cmd+Space,然后在搜索框中输入 ‘terminal’)。在终端中输入 ‘python2.7’ 并按 Enter。

  • Python 应该启动,显示版本为 2.7.2(2.7.1 也可以),并给你一个提示。在 Python 提示符下,输入 ‘import pygame’。如果没有出现任何错误,一切正常。

简单的 Pygame 示例

这里是一个简单的 pygame 程序,可以让您了解基本的语法。



import pygame pygame.init()` `screen = pygame.display.set_mode((400,500))` `done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True pygame.display.flip()




输出:

成功执行后,它将显示如下窗口作为输出:

让我们逐行了解上述程序的基本语法:

import pygame - 这提供了访问 pygame 框架的功能,并导入了 pygame 的所有函数。

pygame.init() - 这用于初始化 pygame 所需的所有模块。

pygame.display.set_mode((width, height)) - 这用于显示所需大小的窗口。返回值是一个 Surface 对象,这是我们将进行图形操作的对象。

pygame.event.get()- 这用于清空事件队列。如果我们不调用此函数,窗口消息将开始堆积,游戏将在操作系统看来变得无响应。

pygame.QUIT - 当我们点击窗口角落的关闭按钮时,这用于终止事件。

pygame.display.flip() - Pygame 是双缓冲的,所以这会切换缓冲区。为了使您在游戏屏幕上所做的任何更新可见,必须调用此函数。

Pygame Surface

Pygame Surface 用于显示任何图像。Surface 具有预定义的分辨率和像素格式。Surface 的默认颜色是黑色。其大小由传递的 size 参数定义。

Surface 可以具有许多额外的属性,如 alpha 平面、色键、源矩形剪裁等。blit 例程将在可能的情况下尝试使用硬件加速;否则,它们将使用高度优化的软件 blitting 方法。

Pygame Clock

在 pygame 中,时间以毫秒(1/1000 秒)表示。Pygame 时钟用于追踪时间。时间对于创建运动、播放声音或响应任何事件至关重要。一般来说,我们不是按秒计时。我们按毫秒计时。时钟还提供了各种功能来帮助控制游戏的帧率。以下是一些函数:

tick()

这个函数用于更新时钟。语法如下:



tick(framerate=0)




每帧应该调用一次此方法。它会计算自上次调用以来经过了多少毫秒。framerate 参数是可选的,如果作为参数传递,则该函数将延迟以保持游戏运行速度低于给定的每秒帧数。

tick_busy_loop()

tick_busy_loop() 与 tick() 相同。通过每帧调用 Clock.tick_busy_loop(20),程序将不会以超过每秒 20 帧的速度运行。语法如下:



tick_busy_loop()




  • 32
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值