在本文中,我们将学习如何下载和安装游戏开发库 Pygame,并且我们将运行一个简单的示例项目来熟悉 Pygame。
项目代码下载链接:https://github.com/la-vie-est-belle/pygame_codes
在 Windows 上安装 Pygame
打开命令行窗口并键入命令 pip install pygame,然后按 Enter。如果最后看到成功安装pygame的信息,则说明Pygame已成功安装。
注意:本教程使用的Pygame版本是2.6.0。
当然,我们还需要验证Pygame是否正常工作。打开命令行窗口,输入python,按回车键,进入Python命令行界面。然后键入导入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 Call the blit() function of the window object screen to display the character image on the screen, with the position defined by the previously set rectangle dino_rect. You can also pass a coordinate tuple (x, y) to blit() to set the character's position on the screen, such as:
screen.blit(dino, (80, 300))
#10 Call the pygame.display.flip() function to refresh the screen content. You can also use pygame.display.update() to achieve the same effect. The latter can also accept a rectangle area to update only that portion of the screen. For example, the following line will update only a rectangle with the top-left corner at (0, 0) and a width and height of 350 pixels.
pygame.display.update((0, 0, 350, 350))
In this article, we learned how to install Pygame on Windows and MacOS, and explored a simple example code to understand the basic structure, operation principles, and some common functions of Pygame. If there are any parts that you do not fully understand, you can leave them for now. Later chapters may help clarify these concepts.
Buy author a cup of coffee if you enjoyed this tutorial. :)
以上是Pygame开发游戏实用指南---Pygame简介的详细内容。更多信息请关注PHP中文网其他相关文章!