完整的程式碼
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))
WIDTH
和 HEIGHT
常量用於建立視窗,視窗寬度為 300 畫素,高度為 200 畫素。SCREEN
,pygame.display.set_mode((WIDTH, HEIGHT))
中使用的函式將設定顯示模式並返回 Surface 物件 。注意這個函式的引數是前面定義的 WIDTH
和 HEIGHT
常量。
設定視窗的名稱
然後我們使用此函式將視窗名稱更改為 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 模組。