Python游戲開發(fā)從入門到進(jìn)階實(shí)戰(zhàn)
定 價(jià):98 元
- 作者:明日科技 編著
- 出版時(shí)間:2024/4/1
- ISBN:9787122437846
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TP317.6
- 頁碼:275
- 紙張:
- 版次:01
- 開本:16開
《Python 游戲開發(fā)從入門到進(jìn)階實(shí)戰(zhàn)》全面介紹了使用Pygame 模塊進(jìn)行Python 游戲開發(fā)的必備知識(shí),可幫助讀者快速掌握Python+Pygame 開發(fā)的技能。
全書共15章, 分為基礎(chǔ)篇和案例篇。其中基礎(chǔ)篇介紹了Python和Pygame基礎(chǔ)、Pygame 程序開發(fā)流程、Pygame 游戲開發(fā)基礎(chǔ)、字體和文字、事件監(jiān)聽、圖形繪制、位圖圖形、精靈的使用、音頻處理等內(nèi)容;案例篇主要是Flappy Bird、瑪麗冒險(xiǎn)、推箱子、飛機(jī)大戰(zhàn)、智力拼圖、畫圖工具的設(shè)計(jì)過程與代碼實(shí)現(xiàn)。
為了營造輕松的學(xué)習(xí)體驗(yàn),在內(nèi)容設(shè)置上,我們將Python 游戲開發(fā)相關(guān)知識(shí)進(jìn)行分解,融入不同案例中,以減輕初學(xué)者的學(xué)習(xí)壓力,同時(shí)實(shí)現(xiàn)快速上手。
本書不僅適合對(duì)游戲開發(fā)感興趣的初學(xué)者學(xué)習(xí)使用,還適合初中級(jí)游戲開發(fā)人員以及游戲測(cè)試、運(yùn)維人員參考。
第1篇 基礎(chǔ)篇
第1章 初識(shí)Python和Pygame 001
1.1 了解Python 002
1.1.1 Python概述 002
1.1.2 Python能做什么 002
1.2 Pygame 簡(jiǎn)介 003
1.2.1 Pygame的由來 003
1.2.2 Pygame能做什么 003
1.2.3 Pygame 常用子模塊介紹 004
1.3 相關(guān)工具的下載與環(huán)境配置 005
1.4 第一個(gè)Pygame程序 005
實(shí)例1.1 使用Pygame 模塊顯示“Hello Pygame World” 005
1.5 實(shí)戰(zhàn)練習(xí) 006
第2章 Pygame 程序開發(fā)流程 007
2.1 Pygame 程序開發(fā)的基本流程 007
2.1.1 導(dǎo)入Pygame模塊 008
2.1.2 初始化Pygame 008
實(shí)例2.1 演示pygame.init()的使用 009
2.1.3 創(chuàng)建Pygame窗口 009
實(shí)例2.2 演示Pygame 窗口模式的切換 010
2.1.4 窗口圖像渲染——Surface對(duì)象 012
2.1.5 設(shè)置游戲窗口狀態(tài) 015
2.2 Pygame 最小開發(fā)框架 016
2.3 綜合案例——繪制拼圖游戲界面 018
2.4 實(shí)戰(zhàn)練習(xí) 019
第3章 Pygame游戲開發(fā)基礎(chǔ) 020
3.1 像素和pygame.Color對(duì)象 020
實(shí)例3.1 展示所有顏色 022
3.2 Pygame 中的透明度 023
3.2.1 像素透明度 023
實(shí)例3.2 測(cè)試像素透明度 024
3.2.2 顏色值透明度 026
實(shí)例3.3 測(cè)試顏色值透明度 026
3.2.3 圖像透明度 027
3.3 窗口坐標(biāo)系與pygame.Rect對(duì)象 028
3.3.1 窗口坐標(biāo)系 028
3.3.2 pygame.Rect對(duì)象 028
3.4 控制幀速率 029
3.4.1 非精確控制——Clock().tick() 029
3.4.2 精確控制——Clock().tick_busy_loop() 030
3.5 向量在Pygame中的使用 030
3.5.1 向量的介紹 030
3.5.2 向量的使用 031
3.6 三角函數(shù)介紹及其使用 032
3.7 pygame.PixelArray對(duì)象 034
3.7.1 PixelArray對(duì)象概述 035
3.7.2 PixelArray對(duì)象常見操作 036
3.7.3 圖像透明化處理 037
實(shí)例3.4 轉(zhuǎn)換圖片為透明格式 037
3.8 Pygame 的錯(cuò)誤處理 038
3.9 綜合案例——繪制動(dòng)態(tài)太極圖 039
3.10 實(shí)戰(zhàn)練習(xí) 042
第4章 字體和文字 043
4.1 加載和初始化字體模塊 043
4.1.1 初始化與還原字體模塊 044
4.1.2 獲取可用字體 045
4.1.3 獲取Pygame模塊提供的默認(rèn)字體文件 045
4.2 Font字體類對(duì)象 045
4.2.1 創(chuàng)建Font類對(duì)象 046
4.2.2 渲染文本 047
實(shí)例4.1 演示文本渲染 048
4.2.3 設(shè)置及獲取文本渲染模式 049
4.2.4 獲取文本渲染參數(shù) 051
實(shí)例4.2 查看文本圖像的參數(shù) 052
4.3 綜合案例——繪制“Python 之禪” 053
4.4 實(shí)戰(zhàn)練習(xí) 058
第5章 事件監(jiān)聽 059
5.1 理解事件 059
5.2 事件檢索 060
實(shí)例5.1 打印輸出所有事件 061
5.3 處理鍵盤事件 063
實(shí)例5.2 記錄鍵盤按下鍵字符 064
5.4 處理鼠標(biāo)事件 066
實(shí)例5.3 更換鼠標(biāo)圖片為畫筆 066
5.5 設(shè)備輪詢 068
5.5.1 輪詢鍵盤 068
實(shí)例5.4 打字小游戲 069
5.5.2 輪詢鼠標(biāo) 070
5.6 事件過濾 071
5.7 自定義事件 071
5.8 綜合案例——擋板接球游戲 072
5.9 實(shí)戰(zhàn)練習(xí) 076
第6章 圖形繪制 077
6.1 pygame.draw模塊概述 077
6.2 使用pygame.draw模塊繪制基本圖形 078
6.2.1 繪制線段 078
實(shí)例6.1 繪制線段 078
6.2.2 繪制矩形 079
實(shí)例6.2 繪制可移動(dòng)的矩形 080
6.2.3 繪制多邊形 081
實(shí)例6.3 繪制南丁格爾圖 081
6.2.4 繪制圓 084
實(shí)例6.4 繪制一箭穿心圖案 084
6.2.5 繪制橢圓 087
實(shí)例6.5 繪制橢圓 087
6.2.6 繪制弧線 088
實(shí)例6.6 繪制WIFI 信號(hào)圖 089
6.3 綜合案例——會(huì)動(dòng)的烏龜 090
6.4 實(shí)戰(zhàn)練習(xí) 093
第7章 位圖圖形 094
7.1 位圖基礎(chǔ) 094
7.2 Surface 對(duì)象 095
7.2.1 創(chuàng)建Surface對(duì)象 095
7.2.2 拷貝Surface對(duì)象 096
7.2.3 修改Surface 對(duì)象 097
7.2.4 剪裁Surface區(qū)域 097
7.2.5 移動(dòng)Surface對(duì)象 098
實(shí)例7.1 通過方向鍵控制Surface對(duì)象的移動(dòng) 098
7.2.6 子表面Subsurface 100
實(shí)例7.2 父子Surface之間的共享特性 101
7.2.7 獲取Surface父對(duì)象 102
實(shí)例7.3 通過人類繼承關(guān)系模擬Surface父子對(duì)象關(guān)系 103
7.2.8 像素訪問與設(shè)置 104
7.2.9 尺寸大小與矩形區(qū)域管理 105
7.3 Rect 對(duì)象 107
7.3.1 創(chuàng)建Rect對(duì)象 107
7.3.2 拷貝Rect 對(duì)象 109
7.3.3 移動(dòng)Rect對(duì)象 109
7.3.4 縮放Rect對(duì)象 110
7.3.5 Rect對(duì)象交集運(yùn)算 111
7.3.6 判斷一個(gè)點(diǎn)是否在矩形內(nèi) 112
7.3.7 兩個(gè)矩形間的重疊檢測(cè) 112
實(shí)例7.4 矩形間的重疊檢測(cè) 113
7.4 綜合案例——跳躍的小球 116
7.5 實(shí)戰(zhàn)練習(xí) 122
第8章 精靈的使用 123
8.1 精靈基礎(chǔ) 124
8.1.1 精靈簡(jiǎn)介 124
8.1.2 精靈的創(chuàng)建 124
實(shí)例8.1 創(chuàng)建簡(jiǎn)單的精靈類 124
8.2 用精靈實(shí)現(xiàn)動(dòng)畫 126
8.2.1 定制精靈序列圖 126
8.2.2 加載精靈序列圖 126
8.2.3 繪制及更新幀圖 128
實(shí)例8.2 奔跑的小超人 129
8.3 精靈組 132
8.4 精靈沖突檢測(cè) 133
8.4.1 兩個(gè)精靈之間的矩形沖突檢測(cè) 133
8.4.2 兩個(gè)精靈之間的圓沖突檢測(cè) 134
8.4.3 兩個(gè)精靈之間的像素遮罩沖突檢測(cè) 136
8.4.4 精靈和精靈組之間的矩形沖突檢測(cè) 137
8.4.5 精靈組之間的矩形沖突檢測(cè) 137
8.5 綜合案例——小超人吃蘋果 138
8.6 實(shí)戰(zhàn)練習(xí) 141
第9章 音頻處理 142
9.1 設(shè)備的初始化 142
9.2 聲音的控制 143
9.2.1 加載聲音文件 143
9.2.2 控制聲音流 144
實(shí)例9.1 開始播放音樂 146
實(shí)例9.2 設(shè)置與獲取音樂播放位置 148
實(shí)例9.3 自動(dòng)切換歌曲 150
9.3 管理聲音 152
9.3.1 Sound對(duì)象 153
實(shí)例9.4 使用Sound對(duì)象播放聲音 154
9.3.2 Channel對(duì)象 156
實(shí)例9.5 音量的分別控制 158
9.4 綜合案例——音樂播放器 161
9.5 實(shí)戰(zhàn)練習(xí) 166
第2篇 案例篇
第10章 Flappy Bird 167
10.1 案例效果預(yù)覽 168
10.2 案例準(zhǔn)備 168
10.3 業(yè)務(wù)流程 169
10.4 實(shí)現(xiàn)過程 169
10.4.1 文件夾組織結(jié)構(gòu) 169
10.4.2 搭建主框架 170
10.4.3 創(chuàng)建小鳥類 171
10.4.4 創(chuàng)建管道類 174
10.4.5 計(jì)算得分 177
10.4.6 碰撞檢測(cè) 178
第11章 瑪麗冒險(xiǎn) 181
11.1 案例效果預(yù)覽 181
11.2 案例準(zhǔn)備 183
11.3 業(yè)務(wù)流程 183
11.4 實(shí)現(xiàn)過程 184
11.4.1 文件夾組織結(jié)構(gòu) 184
11.4.2 游戲窗體的實(shí)現(xiàn) 184
11.4.3 地圖的加載 185
11.4.4 瑪麗的跳躍功能 187
11.4.5 隨機(jī)出現(xiàn)的障礙 190
11.4.6 背景音樂的播放與停止 192
11.4.7 碰撞和積分的實(shí)現(xiàn) 194
第12章 推箱子游戲 197
12.1 案例效果預(yù)覽 198
12.2 案例準(zhǔn)備 199
12.3 業(yè)務(wù)流程 199
12.4 實(shí)現(xiàn)過程 200
12.4.1 文件夾組織結(jié)構(gòu) 200
12.4.2 搭建主框架 200
12.4.3 繪制游戲地圖 203
12.4.4 用鍵盤控制角色移動(dòng) 210
12.4.5 判斷游戲是否通關(guān) 215
12.4.6 記錄步數(shù) 216
12.4.7 撤銷角色已移動(dòng)功能 217
12.4.8 重玩此關(guān)的實(shí)現(xiàn) 219
12.4.9 游戲進(jìn)入下一關(guān) 220
第13章 飛機(jī)大戰(zhàn) 223
13.1 案例效果預(yù)覽 223
13.2 案例準(zhǔn)備 224
13.3 業(yè)務(wù)流程 224
13.4 實(shí)現(xiàn)過程 225
13.4.1 文件夾組織結(jié)構(gòu) 225
13.4.2 主窗體的實(shí)現(xiàn) 225
13.4.3 創(chuàng)建游戲精靈 227
13.4.4 游戲核心邏輯 229
13.4.5 游戲排行榜 233
第14章 智力拼圖 236
14.1 案例效果預(yù)覽 237
14.2 案例準(zhǔn)備 238
14.3 業(yè)務(wù)流程 239
14.4 實(shí)現(xiàn)過程 240
14.4.1 文件夾組織結(jié)構(gòu) 240
14.4.2 搭建主框架 240
14.4.3 繪制游戲主窗體 242
14.4.4 移動(dòng)游戲空白方格拼圖塊 250
14.4.5 統(tǒng)計(jì)空白方格拼圖塊移動(dòng)步數(shù) 254
14.4.6 判斷拼圖是否成功 255
14.4.7 使用csv文件存取游戲數(shù)據(jù) 258
14.4.8 繪制游戲結(jié)束窗體 259
第15章 畫圖工具 265
15.1 案例預(yù)覽效果 265
15.2 案例準(zhǔn)備 266
15.3 業(yè)務(wù)流程 267
15.4 實(shí)現(xiàn)過程 267
15.4.1 文件夾組織結(jié)構(gòu) 267
15.4.2 菜單類設(shè)計(jì) 268
15.4.3 畫筆類設(shè)計(jì) 270
15.4.4 窗口繪制類設(shè)計(jì) 273
15.4.5 畫圖工具主類設(shè)計(jì) 274