完整的代码
import pygame
pygame.init()
WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('My Game')
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)
SCREEN.fill(RED)
pygame.display.flip()
is_running = True
while is_running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
is_running = False
pygame.quit()
导入和初始化 pygame
正如我们对 python 中的任何模块一样,我们需要导入 pygame:
import pygame
然后我们初始化所有导入的 pygame 模块:
pygame.init()
这用于初始化所有 pygame 模块。没有这个,模块将无法工作
定义常量
然后我们在这里定义一些常量:
WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))
WIDTH
和 HEIGHT
常量用于创建窗口,窗口宽度为 300 像素,高度为 200 像素。SCREEN
,pygame.display.set_mode((WIDTH, HEIGHT))
中使用的函数将设置显示模式并返回 Surface 对象 。注意这个函数的参数是前面定义的 WIDTH
和 HEIGHT
常量。
设置窗口的名称
然后我们使用此函数将窗口名称更改为 My Game:
pygame.display.set_caption('My Game')
定义颜色
之后我们定义了 6 种可以在我们的窗口中使用的颜色:
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)
定义颜色时,我们输入 3 个值,范围在 0 到 255 之间 .pygame.Color 类通常采用以下格式:
COLOUR = (r, g, b, a)
r 参数设置颜色的红色值时,g 参数设置颜色的绿色值,b 参数设置颜色的蓝色值。a 参数设置颜色的 alpha 值。
然后我们给出这个命令:
SCREEN.fill(RED)
这是一个 pygame.Surface.fill 函数,它填充 Surface 对象,我们的屏幕,红色。
使用 pygame.display.flip()
然后我们使用这个功能
pygame.display.flip()
这基本上使我们在屏幕 Surface 上绘制的所有内容都变得可见并更新整个显示的内容。没有这一行,用户就不会在他们的 pygame 屏幕上看到任何内容。
游戏循环
接下来的几行是所谓的游戏循环。
要开始这个,我们创建一个变量并将其设为 True:
is_running = True
这样我们就可以开始我们的 while 循环了:
while is_running:
这将在整个游戏中运行。
在它最基本的形式中,pygame 有事件,它接受用户输入,例如按下按钮或鼠标点击。Pygame 通过事件队列处理这些事件。我们可以使用 for 循环从事件队列中获取这些事件:
for event in pygame.event.get():
这基本上是通过事件列表,我们的事件队列。这些是接下来的两行:
if event.type == pygame.QUIT:
is_running = False
这将使得当用户按下顶角的退出按钮时,会发生类型为 pygame.QUIT
的事件。
然后这结束了 while 循环,因为 is_running
现在是 False
并且脚本移动到最后一行:
pygame.quit()
哪些没有初始化 pygame 模块。