零基礎(chǔ)入門Python游戲
鏈接:https://pan.baidu.com/s/1JftgFSU5neGmhTL-3OmlLQ?pwd=m263?
提取碼:m263

本書內(nèi)容主要介紹如何基于z新的 Python 3.6 版本開發(fā)小游戲,全書分為 4 個相對獨立的小游戲,難度上由淺入深。每一章節(jié)介紹一個游戲的完整開發(fā)過程,包括游戲介紹、文字說明、代碼實現(xiàn)。同時,本書還會穿插對現(xiàn)有常用 Python 游戲第三方模塊的介紹。本書語言活潑、形式新穎、寓教于樂,是一本可以讓讀者邊玩邊學(xué)的編程入門級科普書。
作者簡介
車洪,本科畢業(yè)于南京理工大學(xué)電子信息工程專業(yè),碩士畢業(yè)于中科院聲學(xué)所信息與信號處理專業(yè),在Intel業(yè)界工作多年,從事 GPU 驅(qū)動的開發(fā),擅長Python語言編程設(shè)計。
目錄
第1章起步1
1.1用Python編寫游戲1
1.1.1Python能否編寫游戲程序1
1.1.2Python能夠編寫的游戲類型1
1.1.3Python游戲的性能1
1.1.4使用Python編寫游戲2
1.1.5Pygame和Cocos2d2
1.2搭建開發(fā)環(huán)境4
1.2.1安裝Python4
1.2.2安裝PyCharm9
1.2.3配置虛擬環(huán)境13
1.3小結(jié)14
第2章Pygame16
2.1Pygame簡介16
2.2Pygame的安裝16
2.3Hello World18
2.4基本概念20
2.5窗口管理21
2.6Surface對象23
2.7圖片加載26
2.8圖形繪制26
2.9文字顯示31
2.10再議屏幕顯示35
2.11Rect對象37
2.12事件處理42
2.13Sprite52
2.14碰撞檢測57
2.15音效與音樂60
2.16小結(jié)64
第3章《飛機大戰(zhàn)》游戲66
3.1項目介紹66
3.2項目規(guī)劃68
3.3記錄狀態(tài)70
3.4游戲窗口71
3.5游戲循環(huán)72
3.5.1事件檢測處理73
3.5.2狀態(tài)更新74
3.5.3碰撞檢測處理75
3.5.4屏幕繪制76
3.6加載圖片77
3.7背景79
3.8我方飛機82
3.9子彈85
3.10敵方飛機87
3.11按鈕96
3.12小部件98
3.12.1Logo98
3.12.2記分牌100
3.12.3“暫停/恢復(fù)”按鈕101
3.12.4游戲結(jié)束提示框104
3.13音樂與音效106
3.14異常處理109
3.15小結(jié)112
零基礎(chǔ)入門Python游戲目錄第4章Cocos2d Ⅰ113
4.1Cocos2d簡介113
4.2Cocos2d的安裝113
4.3Hello World115
4.3.1Hello World115
4.3.2Hello Actions118
4.3.3Hello Events121
4.4基本概念125
4.5坐標系127
4.6director129
4.7CocosNode131
4.7.1方法及屬性131
4.7.2常見派生類136
4.7.3自定義派生類137
4.8Scene138
4.8.1常見派生類138
4.8.2使用方法138
4.8.3錨點與位置143
4.9Layer145
4.9.1常見派生類145
4.9.2使用方法146
4.9.3錨點與位置148
4.10Sprite150
4.10.1方法及屬性150
4.10.2使用方法153
4.10.3錨點與位置155
4.11Menu156
4.11.1相關(guān)的類156
4.11.2簡單菜單157
4.11.3多重菜單161
4.12Action和Effect165
4.12.1Action165
4.12.2Effect169
4.13小結(jié)175
第5章《俄羅斯方塊》游戲176
5.1項目介紹176
5.2項目規(guī)劃179
5.3游戲窗口與菜單場景182
5.4背景183
5.5菜單動畫185
5.6菜單187
5.7參數(shù)設(shè)置190
5.8游戲場景191
5.9HUD192
5.10記錄狀態(tài)195
5.11參數(shù)設(shè)置與狀態(tài)更新196
5.12游戲區(qū)域200
5.13棋盤201
5.14方塊205
5.15游戲主體控制215
5.15.1創(chuàng)建棋盤215
5.15.2繪制棋盤215
5.15.3創(chuàng)建方塊216
5.15.4繪制方塊217
5.15.5方塊移動/旋轉(zhuǎn)/下落218
5.15.6方塊定時下落220
5.15.7方塊著陸221
5.15.8游戲結(jié)束222
5.15.9游戲通關(guān)224
5.16異常處理225
5.17小結(jié)227
第6章Cocos2d Ⅱ228
6.1Collision228
6.1.1原理228
6.1.2代碼229
6.1.3《貓吃老鼠》游戲235
6.2Tiled maps239
6.2.1文件結(jié)構(gòu)239
6.2.2制作地圖241
6.2.3在代碼中訪問246
6.2.4小球掉落(一)253
6.3Map Colliders256
6.3.1原理256
6.3.2代碼258
6.3.3小球落掉(二)262
6.4自定義Action264
6.4.1Action類264
6.4.2自定義一般Action265
6.4.3自定義Instant Action266
6.4.4自定義Interval Action267
6.5自定義Event267
6.5.1Event268
6.5.2預(yù)定義Event268
6.5.3自定義Event269
6.6圖片集272
6.6.1圖片集簡介272
6.6.2圖片分割272
6.6.3示例274
6.7動畫275
6.7.1動畫簡介276
6.7.2幀動畫277
6.7.3示例278
6.8聲音280
6.8.1音效280
6.8.2背景音樂281
6.9Particle System283
6.9.1使用Particle System283
6.9.2自定義Particle System285
6.10小結(jié)289
第7章《超級馬里奧》游戲290
7.1項目介紹290
7.2項目規(guī)劃293
7.3游戲窗口與菜單場景296
7.4菜單背景297
7.5菜單299
7.6記錄狀態(tài)301
7.7HUD302
7.8提示場景304
7.9提示層306
7.10編輯地圖308
7.11游戲場景315
7.12閃爍磚塊316
7.13圖片分割與動畫效果318
7.14角色劃分324
7.14.1Actor325
7.14.2Mario326
7.14.3Enemy327
7.14.4Prop328
7.14.5Cliff328
7.14.6Coin329
7.14.7Flag330
7.14.8Brick330
7.15角色移動332
7.15.1敵人移動332
7.15.2道具移動334
7.15.3馬里奧移動336
7.16游戲主體控制341
7.16.1定義游戲?qū)?41
7.16.2創(chuàng)建游戲角色341
7.16.3主循環(huán)343
7.16.4創(chuàng)建敵人344
7.16.5更新計時器346
7.16.6游戲結(jié)束346
7.16.7游戲通關(guān)348
7.16.8碰撞檢測353
7.16.9碰到地圖障礙物354
7.16.10碰到Sprite對象360
7.17音樂與音效366
7.18異常處理371
7.19小結(jié)374
附錄示例代碼、相關(guān)工具及網(wǎng)絡(luò)資源375
后記376
參考文獻377
查看全部↓
前言/序言
1. 創(chuàng)作起因
在編寫本書之前,筆者熱衷于在網(wǎng)絡(luò)上做技術(shù)分享,曾經(jīng)發(fā)布過許多教程。由于一次“線上游戲編程”課程的機緣,清華大學(xué)出版社的編輯聯(lián)系到了我,詢問我能否編寫一本以Python游戲編程為主題的書籍。由于筆者酷愛技術(shù),同時熱衷于分享,于是便欣然接受了這次頗為珍貴的邀請,并借此機會實現(xiàn)自己多年以來的寫書夢。
為什么要寫游戲編程?
相信許多編程初學(xué)者都有這樣的困惑: 編程語言的語法太枯燥、太抽象了,根本不明白它們到底該怎么用;學(xué)了這么久還是停留在Hello World的初級階段,太沒意思了;到底有沒有方法可以讓編程變得簡單、有趣、更容易上手?有啊,那就是從游戲編程開始!提到游戲編程,可能有讀者會問: 游戲太難了吧,目前我還只是一個“菜鳥”,開發(fā)游戲?qū)ξ襾碚f是不是太早了?別把事情想得太復(fù)雜,《王者榮耀》是游戲,《俄羅斯方塊》也是游戲,游戲有大有小,有的復(fù)雜,有的簡單。學(xué)習(xí)編程可以從簡單的小游戲開始,寓學(xué)于樂,樂趣使人進步,只有做感興趣的事情,才可以讓我們把對未知領(lǐng)域的恐懼轉(zhuǎn)化為濃厚的興趣與源源不斷的動力,從而提高學(xué)習(xí)效率。
為什么選擇Python?