打开窗口
本课属于 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")会设置窗口顶部的标题。你可以在这里通过浏览器运行游戏,同一段代码也会在你的电脑上打开一个真实的窗口。
挑战
简单为你的第一个游戏准备好窗口。
- 将
set_mode中的大小改为(480, 360)。 - 在
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 在线编辑器