Python 遊戲開發從入門到進階實戰

明日科技

  • 出版商: 化學工業
  • 出版日期: 2024-04-01
  • 定價: $588
  • 售價: 8.5$500
  • 語言: 簡體中文
  • 頁數: 275
  • 裝訂: 平裝
  • ISBN: 7122437841
  • ISBN-13: 9787122437846
  • 相關分類: 遊戲設計 Game-design
  • 下單後立即進貨 (約4週~6週)

商品描述

《Python遊戲開發從入門到進階實戰》
全面介紹了使用Pygame模組進行Python遊戲開發的推薦知識,可協助讀者快速掌握Python+Pygame開發的技能。
全書共15章,分為基礎篇和案例篇。
其中基礎篇介紹了Python和Pygame基礎、Pygame程式開發流程、Pygame遊戲開發基礎、字體和文字、
事件監聽、圖形繪製、點陣圖圖形、精靈的使用、音訊處理等內容;
案例篇主要是Flappy Bird、瑪麗冒險、推箱子、飛機大戰、智力拼圖、畫圖工具的設計過程與程式碼實現。
為了營造輕鬆的學習體驗,在內容設定上,我們將Python遊戲開發相關知識進行分解,
融入不同案例中,以減輕初學者的學習壓力,同時實現快速上手。
本書不僅適合對遊戲開發有興趣的初學者學習使用,也適合初中級遊戲開發人員以及遊戲測試、維運人員參考。

目錄大綱

第1篇 基礎篇
第1章 初識Python和Pygame 001
1.1 了解Python 002
1.1.1 Python概述 002
1.1.2 Python能做什麼 002
1.2 Pygame 簡介 003
1.2.1 Pygame的由來 003
1.2.2 Pygame能做什麼 003
1.2.3 Pygame 常用子模組介紹 004
1.3 相關工具的下載與環境配置 005
1.4 第一個Pygame程式 005
實例1.1 使用Pygame 模組顯示「Hello Pygame World」 005
1.5 實戰練習 006
第2章 Pygame 程式開發流程 007
2.1 Pygame 程式開發的基本流程 007
2.1.1 導入Pygame模組 008
2.1.2 初始化Pygame 008
實例2.1 示範pygame.init()的使用 009
2.1.3 建立Pygame視窗 009
實例2.2 示範Pygame 視窗模式的切換 010
2.1.4 視窗影像渲染-Surface物件 012
2.1.5 設定遊戲視窗狀態 015
2.2 Pygame 最小開發框架 016
2.3 綜合案例-繪製拼圖遊戲介面 018
2.4 實戰練習 019
第3章 Pygame遊戲開發基礎 020
3.1 像素和pygame.Color物件 020
實例3.1 展示所有顏色 022
3.2 Pygame 中的透明度 023
3.2.1 像素透明度 023
實例3.2 測試像素透明度 024
3.2.2 顏色值透明度 026
實例3.3 測試顏色值透明度 026
3.2.3 影像透明度 027
3.3 視窗座標系與pygame.Rect物件 028
3.3.1 視窗座標系 028
3.3.2 pygame.Rect物件 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 三角函數介紹及其使用 032
3.7 pygame.PixelArray物件 034
3.7.1 PixelArray物件概述 035
3.7.2 PixelArray物件常見操作 036
3.7.3 影像透明化處理 037
實例3.4 轉換圖片為透明格式 037
3.8 Pygame 的錯誤處理 038
3.9 綜合案例-繪製動態太極圖 039
3.10 實戰練習 042
第4章 字體和文字 043
4.1 載入和初始化字體模組 043
4.1.1 初始化與還原字體模組 044
4.1.2 取得可用字體 045
4.1.3 取得Pygame模組提供的預設字型檔 045
4.2 Font字體類別物件 045
4.2.1 建立Font類別物件 046
4.2.2 渲染文本 047
實例4.1 示範文字渲染 048
4.2.3 設定及取得文字渲染模式 049
4.2.4 取得文字渲染參數 051
實例4.2 檢視文字影像的參數 052
4.3 綜合案例-繪製「Python 之禪」 053
4.4 實戰練習 058
第5章 事件監聽 059
5.1 理解事件 059
5.2 事件檢索 060
實例5.1 列印輸出所有事件 061
5.3 處理鍵盤事件 063
實例5.2 記錄鍵盤按下鍵字元 064
5.4 處理滑鼠事件 066
實例5.3 更換滑鼠圖片為畫筆 066
5.5 設備輪詢 068
5.5.1 輪詢鍵盤 068
實例5.4 打字小遊戲 069
5.5.2 輪詢滑鼠 070
5.6 事件過濾 071
5.7 自訂事件 071
5.8 綜合案例-擋板接球遊戲 072
5.9 實戰練習 076
第6章 圖形繪製 077
6.1 pygame.draw模組概述 077
6.2 使用pygame.draw模組繪製基本圖形 078
6.2.1 繪製線段 078
實例6.1 繪製線段 078
6.2.2 繪製矩形 079
實例6.2 繪製可移動的矩形 080
6.2.3 繪製多邊形 081
例6.3 繪製南丁格爾圖 081
6.2.4 繪製圓 084
例6.4 繪製一箭穿心圖案 084
6.2.5 繪製橢圓 087
實例6.5 繪製橢圓 087
6.2.6 繪製弧線 088
實例6.6 繪製WIFI 訊號圖 089
6.3 綜合案例-會動的烏龜 090
6.4 實戰練習 093
第7章 點陣圖圖形 094
7.1 點圖基礎 094
7.2 Surface 物件 095
7.2.1 建立Surface物件 095
7.2.2 拷貝Surface物件 096
7.2.3 修改Surface 物件 097
7.2.4 剪裁Surface區域 097
7.2.5 移動Surface物件 098
實例7.1 透過方向鍵控制Surface物件的移動 098
7.2.6 子表面Subsurface 100
實例7.2 父子Surface之間的共享特性 101
7.2.7 取得Surface父物件 102
實例7.3 透過人類繼承關係模擬Surface父子物件關係 103
7.2.8 像素存取與設定 104
7.2.9 尺寸大小與矩形區域管理 105
7.3 Rect 物件 107
7.3.1 建立Rect物件 107
7.3.2 拷貝Rect 物件 109
7.3.3 移動Rect物件 109
7.3.4 縮放Rect物件 110
7.3.5 Rect物件交集運算 111
7.3.6 判斷一個點是否在矩形內 112
7.3.7 兩個矩形間的重疊偵測 112
實例7.4 矩形間的重疊檢測 113
7.4 綜合案例-跳躍的小球 116
7.5 實戰練習 122
第8章 精靈的使用 123
8.1 精靈基礎 124
8.1.1 精靈簡介 124
8.1.2 精靈的創建 124
實例8.1 建立簡單的精靈類別 124
8.2 用精靈實作動畫 126
8.2.1 客製化精靈序列圖 126
8.2.2 載入精靈序列圖 126
8.2.3 繪製及更新影格圖 128
例8.2 奔跑的小超人 129
8.3 精靈組 132
8.4 精靈衝突偵測 133
8.4.1 兩個精靈之間的矩形衝突偵測 133
8.4.2 兩個精靈之間的圓衝突偵測 134
8.4.3 兩個精靈之間的像素遮罩衝突偵測 136
8.4.4 精靈和精靈組之間的矩形衝突偵測 137
8.4.5 精靈組之間的矩形衝突偵測 137
8.5 綜合案例-小超人吃蘋果 138
8.6 實戰練習 141
第9章 音頻處理 142
9.1 設備的初始化 142
9.2 聲音的控制 143
9.2.1 載入聲音檔 143
9.2.2 控制聲音流 144
實例9.1 開始播放音樂 146
實例9.2 設定與取得音樂播放位置 148
實例9.3 自動切換歌曲 150
9.3 管理聲音 152
9.3.1 Sound對象 153
實例9.4 使用Sound物件播放聲音 154
9.3.2 Channel對象 156
實例9.5 音量的分別控制 158
9.4 綜合案例-音樂播放器 161
9.5 實戰練習 166
第2篇 案例篇
第10章 Flappy Bird 167
10.1 案例效果預覽 168
10.2 案例準備 168
10.3 業務流程 169
10.4 實現過程 169
10.4.1 資料夾組織結構 169
10.4.2 搭建主框架 170
10.4.3 創建小鳥類 171
10.4.4 建立管道類別 174
10.4.5 計算得分 177
10.4.6 碰撞檢測 178
第11章 瑪麗冒險 181
11.1 案例效果預覽 181
11.2 案例準備 183
11.3 業務流程 183
11.4 實現過程 184
11.4.1 資料夾組織結構 184
11.4.2 遊戲窗體的實現 184
11.4.3 地圖的載入 185
11.4.4 瑪莉的跳躍功能 187
11.4.5 隨機出現的障礙 190
11.4.6 背景音樂的播放與停止 192
11.4.7 碰撞和積分的實現 194
第12章 推箱子遊戲 197
12.1 案例效果預覽 198
12.2 案例準備 199
12.3 業務流程 199
12.4 實現過程 200
12.4.1 資料夾組織結構 200
12.4.2 搭建主框架 200
12.4.3 繪製遊戲地圖 203
12.4.4 用鍵盤控制角色移動 210
12.4.5 判斷遊戲是否通關 215
12.4.6 記錄步數 216
12.4.7 撤銷角色已移動功能 217
12.4.8 重玩此關的實作 219
12.4.9 遊戲進入下一關 220
第13章 飛機大戰 223
13.1 案例效果預覽 223
13.2 案例準備 224
13.3 業務流程 224
13.4 實現過程 225
13.4.1 資料夾組織結構 225
13.4.2 主窗體的實現 225
13.4.3 創建遊戲精靈 227
13.4.4 遊戲核心邏輯 229
13.4.5 遊戲排行榜 233
第14章 智力拼圖 236
14.1 案例效果預覽 237
14.2 案例準備 238
14.3 業務流程 239
14.4 實現過程 240
14.4.1 資料夾組織結構 240
14.4.2 搭建主框架 240
14.4.3 繪製遊戲主視窗 242
14.4.4 行動遊戲空白方格拼圖塊 250
14.4.5 統計空白方格拼圖方塊移動步數 254
14.4.6 判斷拼圖是否成功 255
14.4.7 使用csv檔案存取遊戲資料 258
14.4.8 繪製遊戲結束視窗 259
第15章 畫圖工具 265
15.1 案例預覽效果 265
15.2 案例準備 266
15.3 業務流程 267
15.4 實現過程 267
15.4.1 資料夾組織結構 267
15.4.2 選單類設計 268
15.4.3 畫筆類設計 270
15.4.4 視窗繪製類別設計 273
15.4.5 畫圖工具主類設計 274