在本文中,我们将学习如何下载和安装游戏开发库 Pygame,并且我们将运行一个简单的示例项目来熟悉 Pygame。
项目代码下载链接:https://github.com/la-vie-est-belle/pygame_codes
在 Windows 上安装 Pygame
打开命令行窗口并键入命令 pip install pygame,然后按 Enter。如果最后看到Successfully Install pygame的提示,说明Pygame已经安装成功。
注意:本教程使用的Pygame版本是2.6.0。
当然,我们还需要验证Pygame是否正常工作。打开命令行窗口,输入python,按回车键,进入Python命令行界面。然后输入 import pygame.如果出现Pygame欢迎信息,则说明安装成功,Pygame可以正常使用。
在 MacOS 上安装 Pygame
同样,打开终端,输入 pip3 install pygame,然后按 Enter 键安装 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 的基本结构、运行原理和一些常用功能。如果还有不完全理解的部分,可以暂时先不说。后面的章节可能有助于阐明这些概念。
如果您喜欢本教程,请请作者喝杯咖啡。 :)
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3