PyGame 指南/準備就緒

本指南涵蓋哪些內容?
首先,本指南涵蓋 Python 語言的基本語法和用法,以防您來自其他語言。如果您已經在 Python 中進行過程式設計,您可以跳過 "Python 快速入門" 部分。
其次,本指南還涵蓋了構建功能性 2D 遊戲所需的 PyGame 基礎知識。"PyGame 快速入門" 快速地介紹了所有基本功能,並提供了示例程式碼。
在掌握 Python 和 PyGame 的基礎知識後,我們將在 "PyGame 菜譜" 中深入構建一些簡單的 2D 遊戲。
最後,有一個 "快速參考" 指南,分別針對 Python 和 PyGame,之後是 詞彙表,以防您需要回顧本書中使用的任何術語。
我需要具備哪些先前的經驗?如果您之前已經使用面向物件的語言(如 C++、C# 和/或 Java)進行過程式設計,那麼本指南將最適合您。在 "Python 快速入門" 章節中,我將介紹一些 Python 的基礎知識,以便您熟悉其語法,但這並不是一個程式設計入門課程,它不會涵蓋您在之前的課程中會學到的理論和基礎知識。
如果我以前沒有程式設計過怎麼辦?
如果您以前從未參加過程式設計課程,您也許能夠使用本指南開始學習 2D 程式設計,但您會遇到解決問題的難度障礙——但別擔心,網上有很多免費指南可以用來學習!

Python 是一種解釋型高階程式語言。在這種情況下,"高階" 指的是更遠離機器程式碼。"高階" 並不意味著它更難——實際上,高階語言通常比 C 等低階語言更容易使用。作為一種語言,Python 可以以面向物件的方式編寫(如果您來自 C++/C#/Java 陣營,應該很熟悉),但也支援其他程式設計正規化——或其他程式碼結構和編寫方式。我更喜歡使用面嚮物件的技術編寫遊戲。
PyGame 是一個可以與 Python 一起使用的庫。庫是預先編寫的程式碼,可以在多個程式中重複使用。這通常包括提供新功能的函式和類。
PyGame 處理以下功能:
- 載入和繪製圖形
- 載入和播放聲音
- 載入字型和繪製文字
- 檢測鍵盤和滑鼠輸入
此外,PyGame 旨在跨平臺使用,因此您可以在自己的機器上編寫一個遊戲,而您的朋友可以在 Linux、Mac、Windows 甚至移動裝置上執行該遊戲!

PyGame 網站提供了 PyGame 的下載連結,以及入門教程、PyGame 文件,甚至是用 PyGame 製作的遊戲目錄。您建立遊戲後,也可以將您的遊戲放到目錄中!PyGame 網站地址為 pygame.org
對於 Windows,您需要從這裡下載 PyGame 的版本:http://pygame.org/download.shtml
找到 "Windows" 標題並下載標題中包含 "py2.7" 的 PyGame 版本。在撰寫本文時,最新版本為 pygame-1.9.1.win32-py2.7.msi。
| Python 版本
Python 的版本 2 和版本 3 之間存在很多差異,並且彼此之間並不總是相容。此版本的 PyGame 使用 Python 2.7。 |
(Windows 指示正在進行中)
(Linux 指示正在進行中)

如果您使用的是 Ubuntu、Linux Mint 或 Debian,則應該能夠透過 Synaptic 包管理器甚至軟體管理器安裝 Python。
搜尋 "pygame",您應該下載 python-pygame 包。它還應該同時安裝 Python 依賴項。
(Mac 指示正在進行中)
對於 Mac,您需要從這裡下載 PyGame 的版本:http://pygame.org/download.shtml
找到 "Macintosh" 標題並下載 py2.7 版本。
原始碼都是文字,因此您需要一個不錯的文字編輯器來編寫。Windows 預設的記事本是一個很糟糕的程式,因此您應該下載其他工具。
Geany 是一款免費的跨平臺編輯器。您也可以在 Geany 中安裝額外的外掛來自定義它。從以下地址下載:http://www.geany.org/Download/Releases
(文字編輯器說明正在進行中)
讓我們透過一些小的示例程式確保 Python 和 PyGame 能夠正常工作。您可以重新輸入本文件中給出的程式碼,或者從指南庫中下載檔案:bitbucket.org/moosaderllc/rachels-pygame-guide
首先,在您的計算機上建立一個用於 Python 專案的目錄,併為該專案建立一個資料夾(“Testing Python”或其他名稱)。首先,我們將只建立一個 Python 程式,然後我們將建立一個 PyGame 程式。
在 Geany 中,建立一個新檔案,並將其儲存到您的專案目錄中,命名為 simple python.py。確保它具有 .py 副檔名 - 所有 Python 原始檔都必須以它結尾。
| Windows 注意!
如果您使用的是 Windows,您的資料夾選項可能設定為預設情況下隱藏副檔名。您可能需要將所有副檔名設定為可見,這樣您就不會感到困惑! |
將以下程式碼新增到您的原始檔中
print( "Hello, world!" )
for i in range( 1, 10 ):
print( i )
如果您使用的是 Geany,您可以透過按 F5 執行 Python 程式。
執行完成後,Python 程式輸出應該如下所示
Hello, world! 1 2 3 4 5 6 7 8 9
接下來,我們將建立一個簡單的 PyGame 測試,以確保我們可以開啟一個視窗。建立一個名為 simple pygame.py 的另一個原始檔。將以下程式碼貼上進去。如果您還不瞭解程式碼,請不要擔心 - 這只是為了確保一切都設定正確!
import pygame, sys
from pygame.locals import *
pygame.init()
timer = pygame.time.Clock()
window = pygame.display.set_mode( ( 300, 300 ) )
pygame.display.set_caption( "Testing out PyGame!" )
# Game loop
while True:
window.fill( pygame.Color( 50, 200, 255 ) )
# Check input
for event in pygame.event.get():
if ( event.type == QUIT ):
pygame.quit()
sys.exit()
# Update screen
pygame.display.update()
timer.tick( 30 )
執行後,您應該會得到一個帶有淺藍色背景的小視窗。

完成操作後,您可以關閉視窗。
如果它沒有工作怎麼辦?!
有時會發生這種情況!如果您在執行程式時遇到問題,您可以執行一些操作來除錯它...
- 仔細檢查所有文字和符號是否有錯別字 - 這些錯誤很容易出現!還要確保您的大小寫正確,PyThOn 是 CaSe SeNsItIvE 的!
- 從 庫 中下載檔案,並嘗試執行它。比較我的程式碼和您的程式碼,看看有什麼不同。
- 搜尋您收到的錯誤訊息 - 很可能其他人也遇到過同樣的問題!
如何從庫中下載檔案?
您可以在以下連結找到庫:https://bitbucket.org/moosaderllc/rachels-pygame-guide/。在該頁面上,如果您熟悉 Git,可以使用 Clone 按鈕,或者您可以點選 Downloads 找到一個連結,將所有檔案下載到您的計算機上。
下一步是什麼?
幹得好!接下來,我們將介紹 Python 的一些功能,以便您熟悉它的語法!