完整的程式碼

import pygame

pygame.init()

WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))

pygame.display.set_caption('My Game')

WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)

SCREEN.fill(RED)
pygame.display.flip()

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

pygame.quit()

匯入和初始化 pygame

正如我們對 python 中的任何模組一樣,我們需要匯入 pygame:

import pygame

然後我們初始化所有匯入的 pygame 模組:

pygame.init()

這用於初始化所有 pygame 模組。沒有這個,模組將無法工作

定義常量

然後我們在這裡定義一些常量:

WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))

WIDTHHEIGHT 常量用於建立視窗,視窗寬度為 300 畫素,高度為 200 畫素。SCREENpygame.display.set_mode((WIDTH, HEIGHT)) 中使用的函式將設定顯示模式並返回 Surface 物件 。注意這個函式的引數是前面定義的 WIDTHHEIGHT 常量。

設定視窗的名稱

然後我們使用此函式將視窗名稱更改為 My Game:

pygame.display.set_caption('My Game')

定義顏色

之後我們定義了 6 種可以在我們的視窗中使用的顏色:

WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)

定義顏色時,我們輸入 3 個值,範圍在 0 到 255 之間 .pygame.Color 類通常採用以下格式:

COLOUR = (r, g, b, a)

r 引數設定顏色的紅色值時,g 引數設定顏色的綠色值,b 引數設定顏色的藍色值。a 引數設定顏色的 alpha 值。

然後我們給出這個命令:

SCREEN.fill(RED)

這是一個 pygame.Surface.fill 函式,它填充 Surface 物件,我們的螢幕,紅色。

使用 pygame.display.flip()

然後我們使用這個功能

pygame.display.flip()

這基本上使我們在螢幕 Surface 上繪製的所有內容都變得可見並更新整個顯示的內容。沒有這一行,使用者就不會在他們的 pygame 螢幕上看到任何內容。

遊戲迴圈

接下來的幾行是所謂的遊戲迴圈

要開始這個,我們建立一個變數並將其設為 True:

is_running = True

這樣我們就可以開始我們的 while 迴圈了:

while is_running:

這將在整個遊戲中執行。

在它最基本的形式中,pygame 有事件,它接受使用者輸入,例如按下按鈕或滑鼠點選。Pygame 通過事件佇列處理這些事件。我們可以使用 for 迴圈從事件佇列中獲取這些事件:

for event in pygame.event.get(): 

這基本上是通過事件列表,我們的事件佇列。這些是接下來的兩行:

if event.type == pygame.QUIT:
    is_running = False    

這將使得當使用者按下頂角的退出按鈕時,會發生型別為 pygame.QUIT 的事件。

然後這結束了 while 迴圈,因為 is_running 現在是 False 並且指令碼移動到最後一行:

pygame.quit()

哪些沒有初始化 pygame 模組。