在 Pygame 中将窗口设置为全屏

Maxim Maeder 2023年1月30日 2022年6月2日
  1. 创建一个简单的游戏框架
  2. 在 Pygame 中将窗口设置为全屏
在 Pygame 中将窗口设置为全屏

本教程将向你展示 Pygame 中任何游戏的最简单的开始。此外,你还将学习如何将窗口设置为全屏。

创建一个简单的游戏框架

下面的代码展示了一个简单的游戏框架。该示例将打开一个窗口并保持运行,直到它关闭。

  1. 在前 3 行中,我们将导入 pygamesys 模块,然后第二个库将关闭程序。
  2. 我们继续使用 pygame.init() 启动 Pygame。
  3. 然后,我们将 fps 设置为 60;我们在下一行创建的 pygame.time.Clock 对象的 update 方法中使用它。
  4. 此外,我们设置屏幕的宽度和高度。
  5. 我们将此信息传递给 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 中将窗口设置为全屏

如果我们运行上面的例子,我们会看到一个小窗口,大小由 widthheight 变量决定。如果我们想要一个游戏是全屏的,我们传递 pygame.FULLSCREEN 标志,然后你就有了一个全屏 Pygame 窗口。

代码:

screen = pygame.display.set_mode(
    (width, height),
    pygame.FULLSCREEN
)
Author: Maxim Maeder
Maxim Maeder avatar Maxim Maeder avatar

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