在本文中,我們將學習如何下載和安裝遊戲開發庫 Pygame,並且我們將運行一個簡單的範例專案來熟悉 Pygame。
專案代碼下載連結:https://github.com/la-vie-est-belle/pygame_codes
在 Windows 上安裝 Pygame
開啟命令列視窗並鍵入命令 pip install pygame,然後按 Enter。如果最後看到成功安裝pygame的訊息,則表示Pygame已成功安裝。
注意:本教學使用的Pygame版本是2.6.0。
當然,我們還需要驗證Pygame是否正常運作。打開命令列窗口,輸入python,按下回車鍵,進入Python命令列介面。然後輸入 import pygame.如果出現Pygame歡迎訊息,則表示安裝成功,Pygame可以正常使用。
在 MacOS 上安裝 Pygame
同樣,打開終端,輸入 pip3 install pygame,然後按 Enter 鍵安裝 Pygame。驗證方法同上,這裡不再贅述。
開啟命令列窗口,執行指令 python -m pygame.examples.aliens 即可啟動 Pygame 自帶的內建外星人遊戲。控制項如下:
在接下來的實作文章中,我們將一起開發和實現這款外星人遊戲。現在,讓我們來看看這個簡單的 Pygame 範例程式碼 1-1。
import sys import pygame pygame.init() # 1 screen = pygame.display.set_mode((1100, 600)) # 2 pygame.display.set_caption('Dino Runner') # 3 icon = pygame.image.load('icon.png') # 4 pygame.display.set_icon(icon) dino = pygame.image.load('dino_start.png') # 5 dino_rect = dino.get_rect() dino_rect.topleft = (80, 300) while True: # 6 for event in pygame.event.get(): # 7 if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.fill((255, 255, 255)) # 8 screen.blit(dino, dino_rect) # 9 pygame.display.flip() # 10
結果如下:
代碼說明:
#1 pygame.init() 初始化 Pygame 函式庫中的所有模組。在使用任何 Pygame 函數或類別之前必須包含此行。
#2 呼叫 pygame.display.set_mode() 函數設定遊戲視窗的大小(大小作為元組傳遞)。該函數傳回一個視窗對象,該對象儲存在變數 screen 中。該物件可讓您在視窗中繪製圖形、添加圖像和文字。 pygame.display模組專門用於視窗管理和螢幕顯示。
#3 使用 pygame.display.set_caption() 函數設定視窗標題。
#4 使用 pygame.image.load() 函數載入映像,在本例中為視窗圖示。該函數傳回一個影像對象,該對象儲存在 icon 變數中。接下來,使用 pygame.display.set_icon() 函數設定視窗圖示。
#5 載入主角圖像,並呼叫 get_rect() 取得角色圖像的矩形區域(一個 Rect 物件),並將該矩形的左上角 topleft 設為螢幕位置。
注意:螢幕座標原點在左上角,X軸向右延伸,Y軸向下延伸。 Pygame中的座標系將在後面的章節詳細講解。
#6 進入遊戲循環,Pygame 將持續偵測並處理使用者輸入、更新遊戲狀態或更新螢幕內容。
#7 使用 pygame.event.get() 取得事件佇列。在 for 迴圈中,我們讀取並處理每個事件。如果事件類型 event.type 為 pygame.QUIT (即關閉視窗),則呼叫 pygame.quit() 退出遊戲。 sys.exit() 終止目前Python程序,清理並退出執行Pygame程式的執行緒。
#8 呼叫視窗物件screen的fill()函數,為視窗填滿顏色。您傳遞一個表示顏色 RGB 值的元組,在本例中為白色。
#9 Call the blit() function of the window object screen to display the character image on the screen, with the position defined by the previously set rectangle dino_rect. You can also pass a coordinate tuple (x, y) to blit() to set the character's position on the screen, such as:
screen.blit(dino, (80, 300))
#10 Call the pygame.display.flip() function to refresh the screen content. You can also use pygame.display.update() to achieve the same effect. The latter can also accept a rectangle area to update only that portion of the screen. For example, the following line will update only a rectangle with the top-left corner at (0, 0) and a width and height of 350 pixels.
pygame.display.update((0, 0, 350, 350))
In this article, we learned how to install Pygame on Windows and MacOS, and explored a simple example code to understand the basic structure, operation principles, and some common functions of Pygame. If there are any parts that you do not fully understand, you can leave them for now. Later chapters may help clarify these concepts.
Buy author a cup of coffee if you enjoyed this tutorial. :)
以上是Pygame開發遊戲實用指南---Pygame簡介的詳細內容。更多資訊請關注PHP中文網其他相關文章!