在本文中,我们将学习如何下载和安装游戏开发库 pygame,并且我们将运行一个简单的示例项目来熟悉 pygame。
项目代码下载链接:https://github.com/la-vie-est-belle/pygame_codes
安装 pygame
在 windows 上安装 pygame
打开命令行窗口并键入命令 pip install pygame,然后按 enter。如果最后看到成功安装pygame的信息,就说明pygame已经成功安装了。
注意:本教程使用的pygame版本是2.6.0.
当然,我们还需要验证pygame是否正常工作。打开命令行窗口,输入python,按回车键,进入python命令行界面。然后输入 import pygame.如果出现pygame欢迎信息,则表示安装成功,pygame可以正常使用。
在 macos 上安装 pygame
同样,打开终端,输入 pip3 install pygame,然后按 enter 键安装 pygame。验证方法同上,这里不再赘述。
运行 pygame 示例项目
打开命令行窗口,运行命令 python -m pygame.examples.aliens 即可启动 pygame 自带的内置外星人游戏。控制方式如下:
- 方向键移动玩家
- 空格键射击
在接下来的实践文章中,我们将一起开发并实现这款外星人游戏。现在,让我们看一下这个简单的 pygame 示例代码 1-1.
import sys import pygame pygame.init() # 1 screen = pygame.display.set_mode((1100, 600)) # 2 pygame.display.set_caption('dino runner') # 3 icon = pygame.image.load('icon.png') # 4 pygame.display.set_icon(icon) dino = pygame.image.load('dino_start.png') # 5 dino_rect = dino.get_rect() dino_rect.topleft = (80, 300) while true: # 6 for event in pygame.event.get(): # 7 if event.type == pygame.quit: pygame.quit() sys.exit() screen.fill((255, 255, 255)) # 8 screen.blit(dino, dino_rect) # 9 pygame.display.flip() # 10
结果如下:
代码说明:
#1 pygame.init() 初始化 pygame 库中的所有模块。在使用任何 pygame 函数或类之前必须包含此行。
#2 调用 pygame.display.set_mode() 函数设置游戏窗口的大小(大小以元组形式传递)。该函数返回一个窗口对象,该对象存储在变量 screen 中。该对象允许您在窗口中绘制图形、添加图像和文本。 pygame.display模块专门用于窗口管理和屏幕显示。
#3 使用 pygame.display.set_caption() 函数设置窗口标题。
#4 使用 pygame.image.load() 函数加载图像,在本例中为窗口图标。该函数返回一个图像对象,该对象存储在 icon 变量中。接下来,使用 pygame.display.set_icon() 函数设置窗口图标。
#5 加载主角图片,并调用 get_rect() 获取角色图片的矩形区域(一个 rect 对象),并将该矩形的左上角 topleft 设置为屏幕位置。
注意:屏幕坐标原点在左上角,x轴向右延伸,y轴向下延伸。 pygame中的坐标系将在后面的章节中详细讲解。
#6 进入游戏循环,pygame 将不断检测和处理用户输入、更新游戏状态或更新屏幕内容。
#7 使用 pygame.event.get() 获取事件队列。在 for 循环中,我们读取并处理每个事件。如果事件类型 event.type 为 pygame.quit (即关闭窗口),则调用 pygame.quit() 退出游戏。 sys.exit() 终止当前python程序,清理并退出运行pygame程序的线程。
#8 调用窗口对象screen的fill()函数,给窗口填充一种颜色。您传递一个表示颜色 rgb 值的元组,在本例中为白色。
#9 调用窗口对象screen的blit()函数,将字符图像显示在屏幕上,位置由之前设置的矩形dino_rect定义。还可以向 blit() 传递一个坐标元组 (x, y) 来设置角色在屏幕上的位置,如:
screen.blit(dino, (80, 300))
#10 调用 pygame.display.flip() 函数刷新屏幕内容。您还可以使用 pygame.display.update() 来达到相同的效果。后者还可以接受矩形区域来仅更新屏幕的该部分。例如,以下行将仅更新左上角位于 (0, 0) 且宽度和高度为 350 像素的矩形。
pygame.display.update((0, 0, 350, 350))
概括
在本文中,我们学习了如何在 windows 和 macos 上安装 pygame,并探索了一个简单的示例代码来了解 pygame 的基本结构、运行原理以及一些常用功能。如果还有不完全理解的部分,可以暂时先不说。后面的章节可能有助于阐明这些概念。
如果您喜欢本教程,请给作者喝杯咖啡。 🙂
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Pygame开发游戏实用指南—Pygame简介