Python 遊戲開發從入門到精通(簡體書)
商品資訊
系列名:Python開發從入門到精通系列
ISBN13:9787111681069
出版社:機械工業出版社
作者:張有菊
出版日:2021/06/30
裝訂/頁數:平裝/304頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
名人/編輯推薦
目次
商品簡介
《Python 遊戲開發從入門到精通》循序漸進地講解了使用Python語言開發遊戲程序的核心知識,並通過具體實例的實現過程演練了遊戲開發的方法和流程。全書共12章,主要內容有使用Python內置函數開發遊戲,Pygame遊戲開發基礎,字體、圖形圖像和多媒體,Sprite和碰撞檢測,使用AI技術,當Python遇到Cocos2d,Cocos2d進階,Cocos2d高級應用,使用PyOpenGL開發3D遊戲,使用Panda3D開發3D遊戲,綜合實戰―AI人機對戰版五子棋遊戲(Pygame實現),綜合實戰―水果連連看遊戲(Cocos2d實現)。本書簡潔而不失技術深度,內容豐富全面。以極簡的文字介紹了複雜的案例,是學習Python遊戲開發的實用教程。
《《Python 遊戲開發從入門到精通》》適合已經瞭解Python語言基礎語法、希望進一步提高自己Python開發水平的讀者閱讀,還可以作為大中專院校相關專業和培訓學校師生的學習用書。
《《Python 遊戲開發從入門到精通》》適合已經瞭解Python語言基礎語法、希望進一步提高自己Python開發水平的讀者閱讀,還可以作為大中專院校相關專業和培訓學校師生的學習用書。
名人/編輯推薦
有深度 涵蓋了PyOpenGL和Panda3D的遊戲開發技術 有實踐 通過實例的實現演練遊戲開發的方法和流程 有資源 免費贈送案例源碼及配套44個微視頻
目次
前言
第1章 使用Python內置函數開發遊戲1
1.1 猜數遊戲1
1.1.1 使用條件語句1
1.1.2 使用for循環語句2
1.1.3 具體實現3
1.2 龍的世界5
1.2.1 使用while循環語句5
1.2.2 使用函數6
1.2.3 實現“龍的世界”6
1.3 Hangman遊戲8
1.3.1 項目介紹8
1.3.2 具體實現9
1.4 破解愷撒密碼14
1.4.1 實例介紹14
1.4.2 具體實現14
1.5 Reversi黑白棋遊戲16
1.5.1 笛卡兒坐標系16
1.5.2 實例介紹17
1.5.3 具體實現17
第2章 Pygame遊戲開發基礎23
2.1 安裝Pygame23
2.2 Pygame開發基礎24
2.2.1 Pygame框架中的模塊24
2.2.2 開發第一個Pygame程序25
2.3 事件處理27
2.3.1 事件檢索27
2.3.2 處理鼠標事件28
2.3.3 處理鍵盤事件30
2.3.4 事件過濾32
2.3.5 產生事件32
2.4 移動的小蘑菇33
第3章 字體、圖形圖像和多媒體35
3.1 顯示模式35
3.1.1 設置顯示模式35
3.1.2 在全屏顯示模式和非全屏顯示
模式之間進行轉換36
3.2 設置字體並顯示文本內容36
3.2.1 設置字體36
3.2.2 使用屬性Rect設置文本位置38
3.2.3 在遊戲窗口中顯示閃爍的文字39
3.3 設置像素和顏色40
3.3.1 顏色介紹40
3.3.2 設置透明度42
3.3.3 實現一個三原色顏色滑動條效果43
3.4 繪製圖像44
3.4.1 使用Surface繪製對象45
3.4.2 使用pygame.draw繪圖47
3.5 使用動畫49
3.5.1 Pygame動畫49
3.5.2 幀速率51
3.5.3 多彩小球動畫51
3.6 為遊戲添加音效53
3.6.1 Pygame聲音53
3.6.2 播放不同的聲音特效54
第4章 Sprite和碰撞檢測57
4.1 Sprite的概念57
4.2 Pygame中的Sprite58
4.2.1 pygame.sprite模塊中的內置方法和變量58
4.2.2 創建第一個精靈59
4.2.3 創建一個“古燈籠”精靈60
4.2.4 創建精靈組:3輛賽車60
4.2.5 創建移動的精靈組:瘋狂賽車遊戲63
4.3 碰撞檢測65
4.3.1 遊戲中的碰撞檢測66
4.3.2 Pygame中的碰撞檢測69
4.4 3個遊戲項目75
4.4.1 簡易跑酷遊戲75
4.4.2 吃蘋果遊戲79
4.4.3 Pygame官網的坦克大戰遊戲82
第5章 使用AI技術94
5.1 遊戲中常用的AI算法94
5.1.1 有限狀態機算法94
5.1.2 蒙特卡洛樹搜索算法95
5.1.3 A Star尋路算法96
5.1.4 電勢矩陣尋路算法97
5.1.5 Dijkstra單源最短路徑搜索算法97
5.2 貪吃蛇遊戲97
5.2.1 普通版的貪吃蛇遊戲98
5.2.2 AI版的貪吃蛇遊戲103
第6章 當Python遇到Cocos2d111
6.1 Cocos2d介紹111
6.1.1 Cocos2d的家族成員111
6.1.2 Cocos2d-Python112
6.2 Cocos2d-Python的基本應用113
6.2.1 錨點和坐標系113
6.2.2 使用Director115
6.2.3 創建層116
6.2.4 使用精靈118
6.2.5 設置背景音樂和音效122
6.3 使用事件123
6.3.1 使用鍵盤事件123
6.3.2 使用鼠標事件125
6.4 使用菜單128
6.4.1 Cocos2d中的菜單128
6.4.2 使用文本菜單129
6.4.3 使用圖像菜單133
6.5 Cocos2d-Python版本的貪吃蛇遊戲134
6.5.1 設置背景音效135
6.5.2 實現遊戲界面135
第7章 Cocos2d進階140
7.1 動作、轉換和效果140
7.1.1 動作140
7.1.2 基本動作143
7.1.3 特殊動作149
7.1.4 組合和修改動作151
7.1.5 Effects155
7.1.6 創建自己的動作162
7.2 場景切換164
7.2.1 使用導演實現場景切換164
7.2.2 使用過渡動畫實現場景切換166
第8章 Cocos2d高級應用174
8.1 瓦片地圖174
8.1.1 兩種格式174
8.1.2 cell單元格和tile圖塊屬性181
8.1.3 地圖滾動182
8.1.4 地圖查詢186
8.2 地圖碰撞器186
8.2.1 地圖碰撞器介紹187
8.2.2 檢測碰撞的方法188
8.2.3 3種地圖碰撞器188
8.2.4 使用RectMapCollider碰撞器188
8.2.5 使用TmxObjectMapCollider碰撞器191
8.3 CocosNode193
8.3.1 CocosNode的主要功能194
8.3.2 常用的CocosNode子類202
8.4 碰撞處理206
8.4.1 碰撞模型206
8.4.2 基於地圖的碰撞處理207
8.4.3 基於碰撞管理器的碰撞處理210
第9章 使用PyOpenGL開發3D遊戲216
9.1 PyOpenGL基礎知識介紹216
9.2 OpenGL的內置函數217
9.2.1 創建第一個PyOpenGL程序217
9.2.2 OpenGL API的常用內置函數218
9.3 繪製基本的圖形220
9.3.1 繪製一條直線220
9.3.2 繪製點線面圖形221
9.3.3 繪製平滑陰影三角形223
9.3.4 繪製平方曲線226
9.4 使用GLFW227
9.4.1 第一個GLFW程序227
9.4.2 模擬鐘錶指針的轉動228
9.4.3 模擬鐘錶指針轉動的三角形230
9.4.4 使用鍵盤按鍵移動三角形232
9.5 開發一個3D遊戲234
9.5.1 渲染遊戲場景和紋理234
9.5.2 監聽用戶的鼠標和按鍵動作236
第10章 使用Panda3D開發3D遊戲239
10.1 Panda3D基礎239
10.1.1 Panda3D的優點239
10.1.2 安裝Panda3D240
10.1.3 創建第一個Panda3D程序243
10.2 Panda3D的內置成員244
10.2.1 加載遊戲場景244
10.2.2 任務處理:移動3D攝像機248
10.2.3 使用Actor添加動畫模型254
10.2.4 使用間隔和序列257
10.3 開發常見的3D遊戲程序263
10.3.1 迷宮中的小球遊戲263
10.3
第1章 使用Python內置函數開發遊戲1
1.1 猜數遊戲1
1.1.1 使用條件語句1
1.1.2 使用for循環語句2
1.1.3 具體實現3
1.2 龍的世界5
1.2.1 使用while循環語句5
1.2.2 使用函數6
1.2.3 實現“龍的世界”6
1.3 Hangman遊戲8
1.3.1 項目介紹8
1.3.2 具體實現9
1.4 破解愷撒密碼14
1.4.1 實例介紹14
1.4.2 具體實現14
1.5 Reversi黑白棋遊戲16
1.5.1 笛卡兒坐標系16
1.5.2 實例介紹17
1.5.3 具體實現17
第2章 Pygame遊戲開發基礎23
2.1 安裝Pygame23
2.2 Pygame開發基礎24
2.2.1 Pygame框架中的模塊24
2.2.2 開發第一個Pygame程序25
2.3 事件處理27
2.3.1 事件檢索27
2.3.2 處理鼠標事件28
2.3.3 處理鍵盤事件30
2.3.4 事件過濾32
2.3.5 產生事件32
2.4 移動的小蘑菇33
第3章 字體、圖形圖像和多媒體35
3.1 顯示模式35
3.1.1 設置顯示模式35
3.1.2 在全屏顯示模式和非全屏顯示
模式之間進行轉換36
3.2 設置字體並顯示文本內容36
3.2.1 設置字體36
3.2.2 使用屬性Rect設置文本位置38
3.2.3 在遊戲窗口中顯示閃爍的文字39
3.3 設置像素和顏色40
3.3.1 顏色介紹40
3.3.2 設置透明度42
3.3.3 實現一個三原色顏色滑動條效果43
3.4 繪製圖像44
3.4.1 使用Surface繪製對象45
3.4.2 使用pygame.draw繪圖47
3.5 使用動畫49
3.5.1 Pygame動畫49
3.5.2 幀速率51
3.5.3 多彩小球動畫51
3.6 為遊戲添加音效53
3.6.1 Pygame聲音53
3.6.2 播放不同的聲音特效54
第4章 Sprite和碰撞檢測57
4.1 Sprite的概念57
4.2 Pygame中的Sprite58
4.2.1 pygame.sprite模塊中的內置方法和變量58
4.2.2 創建第一個精靈59
4.2.3 創建一個“古燈籠”精靈60
4.2.4 創建精靈組:3輛賽車60
4.2.5 創建移動的精靈組:瘋狂賽車遊戲63
4.3 碰撞檢測65
4.3.1 遊戲中的碰撞檢測66
4.3.2 Pygame中的碰撞檢測69
4.4 3個遊戲項目75
4.4.1 簡易跑酷遊戲75
4.4.2 吃蘋果遊戲79
4.4.3 Pygame官網的坦克大戰遊戲82
第5章 使用AI技術94
5.1 遊戲中常用的AI算法94
5.1.1 有限狀態機算法94
5.1.2 蒙特卡洛樹搜索算法95
5.1.3 A Star尋路算法96
5.1.4 電勢矩陣尋路算法97
5.1.5 Dijkstra單源最短路徑搜索算法97
5.2 貪吃蛇遊戲97
5.2.1 普通版的貪吃蛇遊戲98
5.2.2 AI版的貪吃蛇遊戲103
第6章 當Python遇到Cocos2d111
6.1 Cocos2d介紹111
6.1.1 Cocos2d的家族成員111
6.1.2 Cocos2d-Python112
6.2 Cocos2d-Python的基本應用113
6.2.1 錨點和坐標系113
6.2.2 使用Director115
6.2.3 創建層116
6.2.4 使用精靈118
6.2.5 設置背景音樂和音效122
6.3 使用事件123
6.3.1 使用鍵盤事件123
6.3.2 使用鼠標事件125
6.4 使用菜單128
6.4.1 Cocos2d中的菜單128
6.4.2 使用文本菜單129
6.4.3 使用圖像菜單133
6.5 Cocos2d-Python版本的貪吃蛇遊戲134
6.5.1 設置背景音效135
6.5.2 實現遊戲界面135
第7章 Cocos2d進階140
7.1 動作、轉換和效果140
7.1.1 動作140
7.1.2 基本動作143
7.1.3 特殊動作149
7.1.4 組合和修改動作151
7.1.5 Effects155
7.1.6 創建自己的動作162
7.2 場景切換164
7.2.1 使用導演實現場景切換164
7.2.2 使用過渡動畫實現場景切換166
第8章 Cocos2d高級應用174
8.1 瓦片地圖174
8.1.1 兩種格式174
8.1.2 cell單元格和tile圖塊屬性181
8.1.3 地圖滾動182
8.1.4 地圖查詢186
8.2 地圖碰撞器186
8.2.1 地圖碰撞器介紹187
8.2.2 檢測碰撞的方法188
8.2.3 3種地圖碰撞器188
8.2.4 使用RectMapCollider碰撞器188
8.2.5 使用TmxObjectMapCollider碰撞器191
8.3 CocosNode193
8.3.1 CocosNode的主要功能194
8.3.2 常用的CocosNode子類202
8.4 碰撞處理206
8.4.1 碰撞模型206
8.4.2 基於地圖的碰撞處理207
8.4.3 基於碰撞管理器的碰撞處理210
第9章 使用PyOpenGL開發3D遊戲216
9.1 PyOpenGL基礎知識介紹216
9.2 OpenGL的內置函數217
9.2.1 創建第一個PyOpenGL程序217
9.2.2 OpenGL API的常用內置函數218
9.3 繪製基本的圖形220
9.3.1 繪製一條直線220
9.3.2 繪製點線面圖形221
9.3.3 繪製平滑陰影三角形223
9.3.4 繪製平方曲線226
9.4 使用GLFW227
9.4.1 第一個GLFW程序227
9.4.2 模擬鐘錶指針的轉動228
9.4.3 模擬鐘錶指針轉動的三角形230
9.4.4 使用鍵盤按鍵移動三角形232
9.5 開發一個3D遊戲234
9.5.1 渲染遊戲場景和紋理234
9.5.2 監聽用戶的鼠標和按鍵動作236
第10章 使用Panda3D開發3D遊戲239
10.1 Panda3D基礎239
10.1.1 Panda3D的優點239
10.1.2 安裝Panda3D240
10.1.3 創建第一個Panda3D程序243
10.2 Panda3D的內置成員244
10.2.1 加載遊戲場景244
10.2.2 任務處理:移動3D攝像機248
10.2.3 使用Actor添加動畫模型254
10.2.4 使用間隔和序列257
10.3 開發常見的3D遊戲程序263
10.3.1 迷宮中的小球遊戲263
10.3
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

