在 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