新書推薦:
《
沈括的知识世界:一种闻见主义的实践(中华学术译丛)
》
售價:NT$
398.0
《
大思维:哥伦比亚商学院六步创新思维模型
》
售價:NT$
332.0
《
宏观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:NT$
709.0
《
UE5虚幻引擎必修课(视频教学版)
》
售價:NT$
505.0
《
真需求
》
售價:NT$
505.0
《
阿勒泰的春天
》
售價:NT$
230.0
《
如见你
》
售價:NT$
234.0
《
人格阴影 全新修订版,更正旧版多处问题。国际分析心理学协会(IAAP)主席力作
》
售價:NT$
305.0
|
編輯推薦: |
本书使用Python语言开发游戏程序的核心知识,并通过具体实例的实现过程演练了游戏开发的方法和流程,适合游戏开发者和爱好者阅读。
|
內容簡介: |
《Python 游戏开发从入门到精通》循序渐进地讲解了使用Python语言开发游戏程序的核心知识,并通过具体实例的实现过程演练了游戏开发的方法和流程。全书共12章,主要内容有使用Python内置函数开发游戏,Pygame游戏开发基础,字体、图形图像和多媒体,Sprite和碰撞检测,使用AI技术,当Python遇到Cocos2d,Cocos2d进阶,Cocos2d高级应用,使用PyOpenGL开发3D游戏,使用Panda3D开发3D游戏,综合实战—AI人机对战版五子棋游戏(Pygame实现),综合实战—水果连连看游戏(Cocos2d实现)。本书简洁而不失技术深度,内容丰富全面。以极简的文字介绍了复杂的案例,是学习Python游戏开发的实用教程。
《《Python 游戏开发从入门到精通》》适合已经了解Python语言基础语法、希望进一步提高自己Python开发水平的读者阅读,还可以作为大中专院校相关专业和培训学校师生的学习用书。
|
目錄:
|
前言
第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
|
內容試閱:
|
前言
在国内声势浩大的手游潮席卷下,游戏行业成了当下的香饽饽。无论是即将毕业的大学生,还是正在观望的人们,都对游戏行业相当看好,希望有朝一日能成为其中的一员。
选择一本合适的书
对于一名游戏开发的初学者来说,究竟如何学习才能提高自己的游戏开发水平?好的答案就是买一本合适的游戏开发书籍进行学习。但是,许多游戏开发书籍的大多数篇幅都是基础知识讲解,多偏重于理论,读者读了以后面对实战项目时还是无从下手。另一方面,Python游戏开发类图书也是十分稀缺,让有志于从事Python游戏开发的初学者们十分迷茫。如何购买一本合适的Python游戏开发书?如何从理论知识平稳过渡到项目实战?为此,我们特意编写了本书,本书将是广大Python游戏开发学习者的福音,它将带领读者走向Python游戏开发之路。
Python 游戏开发从入门到精通面向有一定Python基础的读者,传授使用Python语言开发游戏的知识。本书主要讲解了实现Python游戏开发所必须具备的知识和技巧,这些知识能够帮助开发者迅速开发出需要的游戏,提高他们的开发效率。
Python 游戏开发从入门到精通的特色
1.讲解细致,快速入门
Python 游戏开发从入门到精通详细讲解了Python游戏开发所需要的开发技术,循序渐进地讲解了这些技术的使用方法和技巧,帮助读者快速掌握Python游戏开发技术。
2.内容专业、全面、深入
Python 游戏开发从入门到精通不仅讲解了基础的Pygame,还详细讲解了Cocos2d、PyOpenGL和Panda3D游戏开发技术,从二维游戏到三维游戏,深入讲解了使用Python开发各种类型游戏的方法。
3.实例驱动教学
Python 游戏开发从入门到精通采用理论加实例的教学方式,通过引入这些实例实现了对知识点的横向切入和纵向比较,让读者有更多的实战演练机会,并且可以从不同的角度展现同一个知识点的用法,真正实现了拔高的教学效果。
4.帮助读者快速解决学习过程中的问题
无论是书中的疑惑,还是在学习中的问题,群主和管理员都会在时间为读者解答问题,这就是我们对读者的承诺。
5.QQ群 网站论坛实现教学互动,形成互帮互学的朋友圈
为了方便给读者答疑,本书提供了网站论坛、QQ群等技术支持,并且在线与读者互动。让读者在互帮互学中形成一个良好的学习编程的氛围。
Python 游戏开发从入门到精通的QQ群号是:683761238。
Python 游戏开发从入门到精通的读者对象
Python初学者和自学者。
Python开发工程师。
专业游戏开发人员。
研发工程师。
大专院校相关专业师生。
致谢
Python 游戏开发从入门到精通在编写过程中,得到了机械工业出版社的大力支持,正是各位编辑的求实、耐心和效率,才使得本书能够顺利出版。另外,也十分感谢家人给予我的巨大支持。由于编者水平有限,书中难免会有纰漏之处,诚请读者提出宝贵的意见或建议,以便修订并使之更臻完善。编者QQ:150649826。
后,感谢您购买Python 游戏开发从入门到精通,希望本书能成为您编程路上的领航者,祝您阅读愉快。
编 者
|
|