Python升級之路( Lv25 ) Pygame游戲開發基礎
大家好, 我是了不起, 歡迎收看我的冒險之旅。
今天我們將學習Pygame, 并利用其開發一個簡單的Pygame程序。
今日冒險片段上:
隨著冒險不斷地深入的, 眾人已經到達了災難的根源——使徒羅斯特. 它隱匿在第二脊椎, 用其強大的精神能力控制著島上的信徒們. 使徒這個稱呼是在gbk內流傳的古籍中所記錄的, 而了不起從奧菲利亞哪里了解到: 使徒并非只有一位, 并且這些使徒與這個世界的起源都有著千絲萬縷的聯系.??眾人遇到了羅斯特, 被供奉在神殿中, 大批信徒源源不斷的為其提供水源. 如果某個人的生活的維持是以犧牲許多人的利益為代價. 那么, 它的存在就是不合理的. 于是眾人開始向羅斯特發起攻擊. 但令人震驚的是, 無論是精靈王的虛影, 還是了不起剛學習到的技能, 都難以擊敗他. 更何況這里還是在陸地, 如果讓它回歸海洋, 恐怕他將是最難纏的對手. 眾人在苦苦支撐, 可是局面漸漸地像羅斯特那邊傾斜...
一、什么是Pygame
Pygame 是一組用于編寫游戲的 Python 模塊. 它具有高度的可移植性,幾乎可以在所有平臺和操作系統上運行. Pygame 在優秀的 SDL 庫之上添加了功能. 這使我們可以使用 python 語言創建功能齊全的游戲和多媒體程序. 官網入口
二、Pygame 安裝
Pygame安裝方式大致分為三種:
- 在命令行利用 pip install 進行安裝
- 通過pycharm 來進行安裝
- 在python官網來下載對應模塊
下面主要介紹前兩種:
1. 命令行窗口下載
Windows+R 輸入 cmd, 在命令行中輸入如下命令:pip install pygame也可以通過pycharm 進入終端命令行. 然后輸入相對應軟件進行下載:
安裝時可以指定版本 pip install pygame ==版本號但需要注意, 鎖安裝的模塊版本要和自己當前安裝的Python版本進行匹配, 否則可能會下載失敗! 因此建議盡量不要指定版本。
2. pycharm 環境下安裝下載
進入 FIle->setting->project 項目名 -> Python Interpreter-> 輸入對應的拓展模塊然后下載即可,無需選擇版本, 因為pycharm 會為你選擇合適的匹配你python 的版本:
三、Pygame 框架中的模塊
在 Pygame 框架中有很多模塊,其中最常用模塊的具體 說明下表所示:
模塊名 | 功能說明 |
pygame.display | 訪問顯示設備 |
pygame.draw | 繪制形狀、線和點 |
pygame.event | 管理事件 |
pygame.font | 使用字體 |
pygame.image | 加載和存儲圖片 |
pygame.key | 讀取鍵盤按鍵 |
pygame.mixer | 聲音 |
pygame.mouse | 鼠標 |
pygame.movie | 播放視頻 |
pygame.music | 播放音頻 |
pygame.overlay | 訪問高級視頻疊加 |
pygame.rect | 管理矩形區域 |
pygame.sndarray | 操作聲音數據 |
pygame.sprite | 操作移動圖像 |
pygame.surface | 管理圖像和屏幕 |
四、開發第一個 Pygame 程序
步驟: 初始化-> 生成主屏幕 -> 設置標題 -> 刷新屏幕
實操代碼:
import pygame
# 初始化
pygame.init()
# 生成主屏幕(“雙緩沖”窗口)
"""
set_mode 函數:會返回一個 Surface 對象,代表了在桌面上出現的那個窗口
在 3 個參數中,第 1 個參數為元組,表示屏幕的大小;
第 2 個標志位,具體含義如表 1-2 所示,如果不用什么特性,就指定 0;
第 3 個為色深
"""
pygame.display.set_mode((600, 500), pygame.DOUBLEBUF, 32)
# 設置標題
pygame.display.set_caption("開發第一個pygame程序")
while True:
# 刷新屏幕
pygame.display.update()
注意:
set_mode 函數:會返回一個 Surface 對象,代表了在桌面上出現的那個窗口 在 3 個參數中,第 1 個參數為元組,表示屏幕的大??;第 2 個標志位,具體含義如表 1-2 所示, 如果不用什么特性,就指定 0;第 3 個為色深. 各標志位具體含義如下所示:
標志位 | 含義 |
FULLSCREEN | 創建一個全屏窗口 |
DOUBLEBUF | 創建一個“雙緩沖”窗口,建議和 |
HWSURFACE 和 OPENGL | 同時使用 NOFRAME 創建一個沒有邊框的窗口 |
RESIZEBLE | 創建一個可以改變大小的窗口 |
OPENGL | 創建一個 OPENGL 渲染的窗口 |
HWSURFACE | 創建一個硬件加速的窗口,必須和 FULLSCREEN 同時使用 |
游戲的主循環是一個無限循環,直到用戶退出。在這個主循環里面做的事情就是 第 5 頁 不停的刷新新畫面。
效果展示:
今日冒險片段下:
就在千鈞一發之際, GSC請來的援兵到了, 曾經斬擊敗過使徒希洛克的四大劍圣: 巴恩, 阿甘左, 西嵐, 布萬加. 以及教會的圣職者等人. 在這些人的加入下, 特別是四大劍圣, 憑借其之前和使徒戰斗經驗, 逐漸壓制了羅斯特. 在圣騎士的強力支援下, 最終打敗了羅斯特. 了不起也順利晉升到了lv25.??此時, 在另一個充滿時空漩渦和時空亂流的空間內, 有兩個人, 一個在臉上有著淚痕的精靈模樣的女人站著, 一個拿著琵琶的且雙目無神的女人半跪著. 只見站著的女人露出了陰森的微笑, 仿佛能夠通過遙遠空間看到第二脊椎所發生的事情一樣. 然后他們二人同時消失, 只留下空間中回蕩著的那句話: 命運的齒輪已經開始轉動, 預言的未來已勢不可擋...