Menu
CoddyTech

打开窗口

本课属于 Coddy Pygame 学习旅程的“游戏循环”单元。第 1 课,共 35 课。

在本单元中,你将从一个空窗口开始,亲自编写一个完整的 pygame 程序。如果你学过第 1 单元,那么你一直在使用这个循环,现在我们会逐行讲解。pygame 游戏会打开一个窗口,并每秒多次重新绘制它。每张图像都是一帧。

编辑器中的代码是能让窗口保持打开的最精简 pygame 程序:

pygame.init()
screen = pygame.display.set_mode((400, 300))

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    pygame.display.flip()

pygame.init()会启动 pygame。pygame.display.set_mode((400, 300))会打开一个宽 400 像素、高 300 像素的窗口,并返回供你绘图的表面。

while running:循环就是游戏循环。循环每运行一遍,就生成一帧。pygame.event.get()会把上一帧以来发生的事情交给你,例如按键或点击窗口的关闭按钮。关闭按钮对应的事件是pygame.QUIT。pygame.display.flip()会显示绘制完成的帧。

pygame.display.set_caption("My Game")会设置窗口顶部的标题。你可以在这里通过浏览器运行游戏,同一段代码也会在你的电脑上打开一个真实的窗口。

challenge icon

挑战

简单

为你的第一个游戏准备好窗口。

  1. 将 set_mode 中的大小改为 (480, 360)。
  2. 在 set_mode 这一行下方,添加 pygame.display.set_caption("Move the Square")。

按“开始”:会打开一个更大的窗口,标题为 Move the Square。然后按“检查”。

亲手试试

import pygame

pygame.init()
screen = pygame.display.set_mode((400, 300))

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    pygame.display.flip()

pygame.quit()

游戏循环中的所有课

自己练习: Pygame 在线编辑器