Python升級(jí)之路( Lv25 ) Pygame游戲開發(fā)基礎(chǔ)
大家好, 我是了不起, 歡迎收看我的冒險(xiǎn)之旅。
今天我們將學(xué)習(xí)Pygame, 并利用其開發(fā)一個(gè)簡(jiǎn)單的Pygame程序。
今日冒險(xiǎn)片段上:
隨著冒險(xiǎn)不斷地深入的, 眾人已經(jīng)到達(dá)了災(zāi)難的根源——使徒羅斯特. 它隱匿在第二脊椎, 用其強(qiáng)大的精神能力控制著島上的信徒們. 使徒這個(gè)稱呼是在gbk內(nèi)流傳的古籍中所記錄的, 而了不起從奧菲利亞哪里了解到: 使徒并非只有一位, 并且這些使徒與這個(gè)世界的起源都有著千絲萬(wàn)縷的聯(lián)系.??眾人遇到了羅斯特, 被供奉在神殿中, 大批信徒源源不斷的為其提供水源. 如果某個(gè)人的生活的維持是以犧牲許多人的利益為代價(jià). 那么, 它的存在就是不合理的. 于是眾人開始向羅斯特發(fā)起攻擊. 但令人震驚的是, 無(wú)論是精靈王的虛影, 還是了不起剛學(xué)習(xí)到的技能, 都難以擊敗他. 更何況這里還是在陸地, 如果讓它回歸海洋, 恐怕他將是最難纏的對(duì)手. 眾人在苦苦支撐, 可是局面漸漸地像羅斯特那邊傾斜...

一、什么是Pygame
Pygame 是一組用于編寫游戲的 Python 模塊. 它具有高度的可移植性,幾乎可以在所有平臺(tái)和操作系統(tǒng)上運(yùn)行. Pygame 在優(yōu)秀的 SDL 庫(kù)之上添加了功能. 這使我們可以使用 python 語(yǔ)言創(chuàng)建功能齊全的游戲和多媒體程序. 官網(wǎng)入口
二、Pygame 安裝
Pygame安裝方式大致分為三種:
- 在命令行利用 pip install 進(jìn)行安裝
- 通過pycharm 來(lái)進(jìn)行安裝
- 在python官網(wǎng)來(lái)下載對(duì)應(yīng)模塊
下面主要介紹前兩種:
1. 命令行窗口下載
Windows+R 輸入 cmd, 在命令行中輸入如下命令:pip install pygame也可以通過pycharm 進(jìn)入終端命令行. 然后輸入相對(duì)應(yīng)軟件進(jìn)行下載:

安裝時(shí)可以指定版本 pip install pygame ==版本號(hào)但需要注意, 鎖安裝的模塊版本要和自己當(dāng)前安裝的Python版本進(jìn)行匹配, 否則可能會(huì)下載失敗! 因此建議盡量不要指定版本。
2. pycharm 環(huán)境下安裝下載
進(jìn)入 FIle->setting->project 項(xiàng)目名 -> Python Interpreter-> 輸入對(duì)應(yīng)的拓展模塊然后下載即可,無(wú)需選擇版本, 因?yàn)閜ycharm 會(huì)為你選擇合適的匹配你python 的版本:

三、Pygame 框架中的模塊
在 Pygame 框架中有很多模塊,其中最常用模塊的具體 說明下表所示:
模塊名 | 功能說明 |
pygame.display | 訪問顯示設(shè)備 |
pygame.draw | 繪制形狀、線和點(diǎn) |
pygame.event | 管理事件 |
pygame.font | 使用字體 |
pygame.image | 加載和存儲(chǔ)圖片 |
pygame.key | 讀取鍵盤按鍵 |
pygame.mixer | 聲音 |
pygame.mouse | 鼠標(biāo) |
pygame.movie | 播放視頻 |
pygame.music | 播放音頻 |
pygame.overlay | 訪問高級(jí)視頻疊加 |
pygame.rect | 管理矩形區(qū)域 |
pygame.sndarray | 操作聲音數(shù)據(jù) |
pygame.sprite | 操作移動(dòng)圖像 |
pygame.surface | 管理圖像和屏幕 |
四、開發(fā)第一個(gè) Pygame 程序
步驟: 初始化-> 生成主屏幕 -> 設(shè)置標(biāo)題 -> 刷新屏幕
實(shí)操代碼:
import pygame
# 初始化
pygame.init()
# 生成主屏幕(“雙緩沖”窗口)
"""
set_mode 函數(shù):會(huì)返回一個(gè) Surface 對(duì)象,代表了在桌面上出現(xiàn)的那個(gè)窗口
在 3 個(gè)參數(shù)中,第 1 個(gè)參數(shù)為元組,表示屏幕的大小;
第 2 個(gè)標(biāo)志位,具體含義如表 1-2 所示,如果不用什么特性,就指定 0;
第 3 個(gè)為色深
"""
pygame.display.set_mode((600, 500), pygame.DOUBLEBUF, 32)
# 設(shè)置標(biāo)題
pygame.display.set_caption("開發(fā)第一個(gè)pygame程序")
while True:
# 刷新屏幕
pygame.display.update()注意:
set_mode 函數(shù):會(huì)返回一個(gè) Surface 對(duì)象,代表了在桌面上出現(xiàn)的那個(gè)窗口 在 3 個(gè)參數(shù)中,第 1 個(gè)參數(shù)為元組,表示屏幕的大??;第 2 個(gè)標(biāo)志位,具體含義如表 1-2 所示, 如果不用什么特性,就指定 0;第 3 個(gè)為色深. 各標(biāo)志位具體含義如下所示:
標(biāo)志位 | 含義 |
FULLSCREEN | 創(chuàng)建一個(gè)全屏窗口 |
DOUBLEBUF | 創(chuàng)建一個(gè)“雙緩沖”窗口,建議和 |
HWSURFACE 和 OPENGL | 同時(shí)使用 NOFRAME 創(chuàng)建一個(gè)沒有邊框的窗口 |
RESIZEBLE | 創(chuàng)建一個(gè)可以改變大小的窗口 |
OPENGL | 創(chuàng)建一個(gè) OPENGL 渲染的窗口 |
HWSURFACE | 創(chuàng)建一個(gè)硬件加速的窗口,必須和 FULLSCREEN 同時(shí)使用 |
游戲的主循環(huán)是一個(gè)無(wú)限循環(huán),直到用戶退出。在這個(gè)主循環(huán)里面做的事情就是 第 5 頁(yè) 不停的刷新新畫面。
效果展示:

今日冒險(xiǎn)片段下:
就在千鈞一發(fā)之際, GSC請(qǐng)來(lái)的援兵到了, 曾經(jīng)斬?fù)魯∵^使徒希洛克的四大劍圣: 巴恩, 阿甘左, 西嵐, 布萬(wàn)加. 以及教會(huì)的圣職者等人. 在這些人的加入下, 特別是四大劍圣, 憑借其之前和使徒戰(zhàn)斗經(jīng)驗(yàn), 逐漸壓制了羅斯特. 在圣騎士的強(qiáng)力支援下, 最終打敗了羅斯特. 了不起也順利晉升到了lv25.??此時(shí), 在另一個(gè)充滿時(shí)空漩渦和時(shí)空亂流的空間內(nèi), 有兩個(gè)人, 一個(gè)在臉上有著淚痕的精靈模樣的女人站著, 一個(gè)拿著琵琶的且雙目無(wú)神的女人半跪著. 只見站著的女人露出了陰森的微笑, 仿佛能夠通過遙遠(yuǎn)空間看到第二脊椎所發(fā)生的事情一樣. 然后他們二人同時(shí)消失, 只留下空間中回蕩著的那句話: 命運(yùn)的齒輪已經(jīng)開始轉(zhuǎn)動(dòng), 預(yù)言的未來(lái)已勢(shì)不可擋...






























