普通高等教育软件工程“十二五”规划教材

游戏程序设计教程

分享 推荐 0 收藏 9 阅读 2.6K
万立中 , 万立新 (编著) 978-7-115-34258-4

关于本书的内容有任何问题,请联系 刘博

1.本教材的内容不是只教学生学会编写一、两个简单游戏,而是让他们从游戏引擎构建的高度掌握游戏开发的实用技术。
2.从游戏编程实践的角度,介绍游戏编程必须掌握的C++语言基础、Windows编程基础,然后以游戏引擎的构建为贯穿全书的主线,详细介绍了一个完整游戏引擎的创建过程,最后以完整游戏编程实训的方式应用所构建的游戏引擎分别编写不同类型的游戏。
¥54.00 ¥45.90 (8.5 折)
立即购买 申请样书
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

  本书从游戏编程实践的角度,首先介绍了游戏编程要掌握的Windows编程和图形编程基础,然后以TinyEngine游戏引擎构建为贯穿全书主线,详细介绍了该引擎的完整创建过程,最后以实际游戏案例应用所构建的游戏引擎结束。
  全书分为三个部分,第1~4章为第一部分,该部分介绍游戏编程需要掌握的Windows编程基础和图形编程基础;第5~10章为第二部分,它是全书的核心,该部分详细阐述了TinyEngine游戏引擎各组成模块的构建过程,每章都有应用实例;第11、12章为第三部分,这部分介绍了两个完整的引擎应用案例游戏,详细阐述了整个代码的实现过程。
  本书适用于对C++语言有基本了解的读者,适合作为游戏程序设计课程理论与实践配套的教材,也适合作为读者进入游戏开发领域的技术入门学习用书。

目录

目 录

第 1章 游戏编程导论 1
1.1 游戏设计概述 1
1.1.1 计算机游戏的概念 1
1.1.2 游戏基本构成要素 3
1.1.3 游戏类型 5
1.1.4 游戏设计常用术语 12
1.2 游戏制作基本流程 14
1.2.1 前期阶段 15
1.2.2 制作阶段 15
1.2.3 后期阶段 16
1.3 关于游戏引擎 17
1.3.1 游戏引擎的含义 17
1.3.2 游戏引擎的结构 18
1.3.3 关于游戏工具 19
1.3.4 游戏引擎简介 20
1.4 游戏编程语言 21
1.5 学习的先决条件 23
1.6 几点相关说明 24

第 2章 了解Windows编程 25
2.1 Visual C++编程方式 25
2.1.1 直接调用Windows API方式 25
2.1.2 采用MFC方式 26
2.1.3 Windows程序设计基本概念 26
2.2 事件驱动及消息机制 28
2.2.1 Windows中的事件驱动 29
2.2.2 Windows应用程序中的常见消息 29
2.3 Windows窗口的生成 32
2.3.1 指定窗口特征 32
2.3.2 注册窗口类并创建窗口 35
2.4 Windows程序创建及程序框架分析 36
2.4.1 Windows程序的创建 36
2.4.2 Windows程序的基本结构分析 39
2.5 修改程序图标和光标 42
2.5.1 图标资源的创建和加载 43
2.5.2 光标资源的创建和加载 44

第3章 构建游戏引擎框架 46
3.1 游戏引擎框架的构建 46
3.1.1 引擎框架的设计 46
3.1.2 T_Config头文件的定义 49
3.1.3 屏幕分辨率的改变及恢复 52
3.1.4 引擎类的定义和实现 55
3.2 引擎类应用实例 63
3.2.1 编写引擎框架测试代码 63
3.2.2 为框架测试代码增加绘图处理任务 65

第4章 Windows图形编程 67
4.1 与位图相关的概念 67
4.1.1 色彩模式 67
4.1.2 色彩深度 68
4.1.3 Alpha通道 69
4.1.4 RGB颜色的描述 69
4.2 Windows图形技术 70
4.2.1 图形技术简介 70
4.2.2 图形设备接口 70
4.3 GDI图形操作 73
4.3.1 位图与设备环境 73
4.3.2 设备相关的位图 74
4.3.3 设备无关的位图 76
4.4 GDI绘图函数 82
4.4.1 BitBlt()函数及其应用 83
4.4.2 StretchBlt()函数及其应用 83
4.4.3 AlphaBlend()函数及其应用 84
4.5 GDI+图形操作 85
4.5.1 GDI+简介 85
4.5.2 Graphics类 86
4.5.3 Image类与Bitmap类 86
4.5.4 图像显示 89
4.5.5 图像旋转与翻转 89
4.5.6 文字显示 94
4.6 综合应用实例 95

第5章 为引擎添加位图操作模块 101
5.1 位图操作类的设计与实现 101
5.1.1 位图操作类需求分析 101
5.1.2 位图操作类的定义 102
5.1.3 位图操作类的实现 103
5.2 利用位图操作类设计游戏菜单类 108
5.2.1 游戏菜单类的需求分析 109
5.2.2 游戏菜单类的定义 110
5.2.3 游戏菜单类的实现 111
5.2.4 测试游戏菜单类 118
5.3 游戏菜单类应用实例 118

第6章 理解动画与游戏角色 124
6.1 理解游戏动画 124
6.1.1 帧动画与帧图像 124
6.1.2 帧序列 125
6.1.3 游戏FPS的设定 126
6.1.4 帧动画绘制实例 126
6.1.5 文字动画绘制实例 130
6.2 游戏中的角色 132
6.2.1 角色的含义 132
6.2.2 游戏角色的共性 133
6.2.3 角色信息的描述 134
6.3 多角色绘制与控制实例 135

第7章 为引擎添加游戏角色模块 143
7.1 关于图层的概念 143
7.2 构建游戏图层类 144
7.3 创建游戏角色类 145
7.3.1 游戏角色类的设计 145
7.3.2 游戏角色类的实现 148
7.4 为游戏角色类添加AI控制 157
7.4.1 AI类的基本需求与设计 158
7.4.2 AI类的实现 160
7.5 游戏角色类及AI类应用实例 166

第8章 理解游戏地图 173
8.1 关于游戏地图 173
8.2 游戏地图的制作 174
8.2.1 基于图块的游戏地图原理 174
8.2.2 游戏地图的制作 176
8.3 为引擎增加游戏地图类 181
8.4 为角色类增加地图处理 187
8.5 为AI类增加地图处理 190
8.6 地图应用综合实例 191

第9章 为引擎添加游戏场景模块 203
9.1 游戏场景模块需求分析 203
9.2 游戏场景模块的设计 204
9.3 游戏场景模块的实现 207
9.3.1 场景操作函数 207
9.3.2 图层操作函数 211
9.3.3 地图文件解析函数 214
9.3.4 场景绘制函数 217
9.4 游戏场景模块应用实例 218

第 10章 为引擎添加声音模块 226
10.1 资源交换文件格式 226
10.2 资源交换文件的操作 227
10.2.1 打开与关闭 227
10.2.2 文件的读写 228
10.2.3 文件的定位 229
10.3 波形文件读取 230
10.3.1 波形文件结构体 230
10.3.2 编写波形文件读取类 231
10.4 波形文件播放 233
10.4.1 DirectSound概述 234
10.4.2 在开发环境中设置DirectX SDK 234
10.4.3 DirectSound对象创建及初始化 235
10.4.4 声音缓冲区的创建 237
10.4.5 缓冲区声音的播放与控制 238
10.5 DirectSound操作类的创建 239
10.5.1 AudioDXBuffer类的定义与实现 240
10.5.2 AudioDX类的定义与实现 244
10.6 为菜单类添加音效处理 245
10.7 声音模块应用实例 247
10.8 游戏引擎小结 251

第 11章 引擎案例——贪食鱼游戏 253
11.1 游戏需求分析 253
11.2 游戏总体设计 254
11.2.1 游戏素材设计 255
11.2.2 数据结构及数据类型定义 257
11.2.3 游戏类设计 258
11.3 游戏代码实现 262
11.3.1 资源加载类函数 262
11.3.2 游戏状态更新类函数 269
11.3.3 关卡处理函数 275
11.3.4 游戏细节处理类函数 276
11.3.5 引擎接口函数实现 281
11.4 游戏运行与发布 286
11.4.1 游戏运行测试 286
11.4.2 游戏项目发布 288

第 12章 引擎案例——新坦克大战游戏 291
12.1 游戏需求分析 291
12.2 游戏总体设计 292
12.2.1 游戏素材设计 293
12.2.2 游戏地图设计 295
12.2.3 游戏类设计 296
12.3 游戏代码实现 299
12.3.1 资源加载类函数 299
12.3.2 游戏状态更新类函数 307
12.3.3 关卡处理函数 313
12.3.4 游戏细节处理类函数 315
12.3.5 引擎接口函数实现 321
12.4 游戏运行测试 325

参考文献 328
参考网站 328

读者评论

赶紧抢沙发哦!

我要评论

同系列书

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部