在 Pygame 中将窗口设置为全屏
Maxim Maeder
2023年1月30日
2022年6月2日
本教程将向你展示 Pygame 中任何游戏的最简单的开始。此外,你还将学习如何将窗口设置为全屏。
创建一个简单的游戏框架
下面的代码展示了一个简单的游戏框架。该示例将打开一个窗口并保持运行,直到它关闭。
- 在前 3 行中,我们将导入
pygame
和sys
模块,然后第二个库将关闭程序。 - 我们继续使用
pygame.init()
启动 Pygame。 - 然后,我们将 fps 设置为 60;我们在下一行创建的
pygame.time.Clock
对象的update
方法中使用它。 - 此外,我们设置屏幕的宽度和高度。
- 我们将此信息传递给
pygame.display.set_mode()
方法。
现在,我们转到游戏的主循环,大部分逻辑都发生在这里。这是一个循环,因为游戏在一秒钟内要重绘许多次,在我们的例子中,是 60 次。
我们可以通过使用 pygame.quit()
和 sys.exit()
函数来打破无限循环。我们首先用黑色填充整个屏幕;然后,我们循环遍历所有事件。
如果其中一个事件是 pygame.QUIT
事件,我们使用上述函数退出程序。单击窗口右上角的红色 x
时会触发此事件。
在此之后,构成实际游戏的所有代码都有空间,最后但并非最不重要的是,我们使用 pygame.display.flip()
更新屏幕。我们等待合适的时间过去,因此游戏以每秒 60 帧的速度运行。
代码:
# Imports
import sys
import pygame
# Configuration
pygame.init()
fps = 60
fpsClock = pygame.time.Clock()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))
# Game loop.
while True:
screen.fill((0, 0, 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# Main Loop Code belongs here
pygame.display.flip()
fpsClock.tick(fps)
在 Pygame 中将窗口设置为全屏
如果我们运行上面的例子,我们会看到一个小窗口,大小由 width
和 height
变量决定。如果我们想要一个游戏是全屏的,我们传递 pygame.FULLSCREEN
标志,然后你就有了一个全屏 Pygame 窗口。
代码:
screen = pygame.display.set_mode(
(width, height),
pygame.FULLSCREEN
)
Author: Maxim Maeder
Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.
GitHub