零基础入门Python游戏
链接:https://pan.baidu.com/s/1JftgFSU5neGmhTL-3OmlLQ?pwd=m263
提取码:m263

本书内容主要介绍如何基于z新的 Python 3.6 版本开发小游戏,全书分为 4 个相对独立的小游戏,难度上由浅入深。每一章节介绍一个游戏的完整开发过程,包括游戏介绍、文字说明、代码实现。同时,本书还会穿插对现有常用 Python 游戏第三方模块的介绍。本书语言活泼、形式新颖、寓教于乐,是一本可以让读者边玩边学的编程入门级科普书。
作者简介
车洪,本科毕业于南京理工大学电子信息工程专业,硕士毕业于中科院声学所信息与信号处理专业,在Intel业界工作多年,从事 GPU 驱动的开发,擅长Python语言编程设计。
目录
第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搭建开发环境4
1.2.1安装Python4
1.2.2安装PyCharm9
1.2.3配置虚拟环境13
1.3小结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小结64
第3章《飞机大战》游戏66
3.1项目介绍66
3.2项目规划68
3.3记录状态70
3.4游戏窗口71
3.5游戏循环72
3.5.1事件检测处理73
3.5.2状态更新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“暂停/恢复”按钮101
3.12.4游戏结束提示框104
3.13音乐与音效106
3.14异常处理109
3.15小结112
零基础入门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相关的类156
4.11.2简单菜单157
4.11.3多重菜单161
4.12Action和Effect165
4.12.1Action165
4.12.2Effect169
4.13小结175
第5章《俄罗斯方块》游戏176
5.1项目介绍176
5.2项目规划179
5.3游戏窗口与菜单场景182
5.4背景183
5.5菜单动画185
5.6菜单187
5.7参数设置190
5.8游戏场景191
5.9HUD192
5.10记录状态195
5.11参数设置与状态更新196
5.12游戏区域200
5.13棋盘201
5.14方块205
5.15游戏主体控制215
5.15.1创建棋盘215
5.15.2绘制棋盘215
5.15.3创建方块216
5.15.4绘制方块217
5.15.5方块移动/旋转/下落218
5.15.6方块定时下落220
5.15.7方块着陆221
5.15.8游戏结束222
5.15.9游戏通关224
5.16异常处理225
5.17小结227
第6章Cocos2d Ⅱ228
6.1Collision228
6.1.1原理228
6.1.2代码229
6.1.3《猫吃老鼠》游戏235
6.2Tiled maps239
6.2.1文件结构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预定义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小结289
第7章《超级马里奥》游戏290
7.1项目介绍290
7.2项目规划293
7.3游戏窗口与菜单场景296
7.4菜单背景297
7.5菜单299
7.6记录状态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定义游戏层341
7.16.2创建游戏角色341
7.16.3主循环343
7.16.4创建敌人344
7.16.5更新计时器346
7.16.6游戏结束346
7.16.7游戏通关348
7.16.8碰撞检测353
7.16.9碰到地图障碍物354
7.16.10碰到Sprite对象360
7.17音乐与音效366
7.18异常处理371
7.19小结374
附录示例代码、相关工具及网络资源375
后记376
参考文献377
查看全部↓
前言/序言
1. 创作起因
在编写本书之前,笔者热衷于在网络上做技术分享,曾经发布过许多教程。由于一次“线上游戏编程”课程的机缘,清华大学出版社的编辑联系到了我,询问我能否编写一本以Python游戏编程为主题的书籍。由于笔者酷爱技术,同时热衷于分享,于是便欣然接受了这次颇为珍贵的邀请,并借此机会实现自己多年以来的写书梦。
为什么要写游戏编程?
相信许多编程初学者都有这样的困惑: 编程语言的语法太枯燥、太抽象了,根本不明白它们到底该怎么用;学了这么久还是停留在Hello World的初级阶段,太没意思了;到底有没有方法可以让编程变得简单、有趣、更容易上手?有啊,那就是从游戏编程开始!提到游戏编程,可能有读者会问: 游戏太难了吧,目前我还只是一个“菜鸟”,开发游戏对我来说是不是太早了?别把事情想得太复杂,《王者荣耀》是游戏,《俄罗斯方块》也是游戏,游戏有大有小,有的复杂,有的简单。学习编程可以从简单的小游戏开始,寓学于乐,乐趣使人进步,只有做感兴趣的事情,才可以让我们把对未知领域的恐惧转化为浓厚的兴趣与源源不断的动力,从而提高学习效率。
为什么选择Python?