扫一扫
关注中图网
官方微博
本类五星书更多>
-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
游戏程序设计 版权信息
- ISBN:9787560661896
- 条形码:9787560661896 ; 978-7-5606-6189-6
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
游戏程序设计 内容简介
本书设定为游戏开发的入门级教材, 以游戏框架结构为着手点, 讲解游戏开发的基础知识。本书全部的案例均按“游戏框架”的模块结构展开, 从开发层面详细描述游戏从原型到成品的开发过程, 强调模块可用、可维护的思想。限于篇幅, 书中对所涉及到的C/C++基础知识并未做过多展开。本书的读者需要具备基本的C/C++基础知识。为帮助读者从通识性的C/C++学习顺利过渡到专业性的游戏开发学习, “游戏开发基础”篇中提供了用C/C++标准库开发《贪吃蛇》游戏案例。为让读者的注意力能从具体开发平台, 转向游戏开发本身, 剩余篇章的教学案例依赖开源的简单快速媒体库 (SFML) 完成。SFML库基于OpenGL开发, 本身跨平台并支持多语言。
游戏程序设计 目录
**篇 游戏开发基础
第1章 概述 2
1.1 游戏开发 2
1.1.1 游戏运行原理 2
1.1.2 游戏开发语言 2
1.1.3 编译和解释 2
1.1.4 游戏引擎 3
1.2 编程基础 3
1.2.1 基础知识 4
1.2.2 与高级编程相关的概念 5
1.2.3 与代码维护和优化相关的概念 6
1.2.4 其他底层知识 7
1.3 库文件和链接冲突 7
1.3.1 x86和x64 7
1.3.2 库文件和链接冲突 8
1.4 软件许可证 9
1.4.1 软件许可证 9
1.4.2 zlib/libpng许可 9
第2章 程序设计基础 11
2.1 HelloWorld! 11
2.1.1 开发环境 11
2.1.2 HelloWorld 13
2.1.3 函数讲解 14
习题 14
2.2 数值运算 15
2.2.1 数值运算 15
2.2.2 标准输入流 16
习题 17
2.3 逻辑判断 17
2.3.1 逻辑判断 17
2.3.2 逻辑错误 19
习题 21
2.4 循环与中断 22
2.4.1 循环与中断 22
2.4.2 按键响应 23
2.4.3 按键组合 25
习题 26
2.5 控制台颜色 26
2.5.1 控制台文本属性 26
2.5.2 文本颜色设置 27
习题 29
第3章 游戏的框架 30
3.1 游戏框架 30
3.1.1 游戏框架 30
3.1.2 贪吃蛇简介 30
3.1.3 贪吃蛇的框架 32
3.1.4 游戏初始化 33
3.1.5 游戏舞台绘制 34
3.1.6 游戏对象的表达 37
习题 40
3.2 游戏模块 41
3.2.1 游戏输入 41
3.2.2 全局变量的弊端 43
3.2.3 游戏逻辑 43
3.2.4 游戏组成要素 44
3.2.5 得分与显示 45
3.2.6 蛇身链表 45
3.2.7 蛇身显示 47
3.2.8 问题排查 47
3.2.9 胜负判断 50
习题 50
第4章 游戏的显示 51
4.1 双缓冲显示 51
4.1.1 屏幕缓冲区 51
4.1.2 双缓冲技术 52
4.1.3 创建双缓冲区 53
4.1.4 缓冲数据数组 54
4.1.5 双缓冲显示 56
4.1.6 双缓冲的彩色显示 59
习题 60
4.2 局部更新 60
4.2.1 舞台局部更新 60
4.2.2 光标位置 61
4.2.3 局部绘制 62
习题 65
4.3 游戏界面 66
4.3.1 游戏界面的显示 66
4.3.2 特殊字符 68
习题 71
4.4 全角字符显示 71
4.4.1 字符种类 71
4.4.2 字符与字体 72
4.4.3 全角字符显示 72
4.4.4 画面模式切换 76
习题 78
第5章 循环控制与代码管控 79
5.1 游戏循环控制 79
5.1.1 游戏循环 79
5.1.2 游戏暂停 79
5.1.3 游戏重新开始 80
5.1.4 方向控制 82
习题 84
5.2 游戏帧频管理 84
5.2.1 游戏帧频 84
5.2.2 节奏与难度 85
习题 86
5.3 代码维护与管控 87
5.3.1 宏定义 87
5.3.2 代码的可维护性 88
习题 90
第二篇 SFML游戏开发
第6章 SFML多媒体库 92
6.1 SFML简介 92
6.1.1 SFML简介 92
6.1.2 SFML版本 92
6.1.3 SFML的依赖项 93
6.1.4 SFML库的许可 94
习题 94
6.2 开发环境配置 94
6.2.1 SFML开发包 94
6.2.2 环境配置 95
6.3 SFML简单程序 100
6.3.1 SFML命名空间 100
6.3.2 SFML窗口 100
6.3.3 窗口显示 101
习题 102
6.4 SFML常见问题 103
6.4.1 SFML 3D应用 103
6.4.2 RenderTextures不起作用 103
6.4.3 SFML程序无法运行 103
第7章 SFML版贪吃蛇 104
7.1 框架搭建 104
7.1.1 SFML的游戏框架 104
7.1.2 Initial模块 106
7.1.3 循环模块与帧频 108
7.1.4 Input模块 109
7.1.5 Draw模块 110
7.1.6 Logic模块 111
习题 112
7.2 图形几何变换 113
7.2.1 几何变换 113
7.2.2 几何缩放 114
7.2.3 位置 115
7.2.4 原点 117
7.2.5 旋转 118
7.2.6 游戏I/O频率的调整 121
习题 122
7.3 SFML文字显示 123
7.3.1 背景色 123
7.3.2 String和宽字符串 124
7.3.3 加载字体 125
7.3.4 文本绘制 127
习题 130
第8章 SFML媒体应用开发 131
8.1 初探游戏动画 131
8.1.1 动画模式的管理 131
8.1.2 步进细化与逻辑函数 133
8.1.3 步进细化的链表更新 135
8.1.4 步进细化与绘图函数 136
8.1.5 SFML的时间 139
8.1.6 移动速度与帧速率 140
习题 142
8.2 音频与管理 142
8.2.1 音频播放方式 142
8.2.2 声音加载和播放 143
8.2.3 音乐播放 143
8.2.4 播放实例 144
8.2.5 音频高阶功能 145
8.2.6 音频控制示例 146
习题 148
8.3 游戏进程管理 148
8.3.1 游戏进程管理 148
8.3.2 状态信息的显示 150
8.3.3 游戏结束画面 152
8.3.4 控制台窗口隐藏 153
习题 154
8.4 精灵动画 156
8.4.1 精灵表单 156
8.4.2 Animation类 156
8.4.3 AnimatedSprite类 159
8.4.4 精灵动画示例 166
8.4.5 精灵绘制的调用机制 167
习题 168
第三篇 SFML高级应用
第9章 鼠标交互案例——扫雷 170
9.1 扫雷游戏 170
9.1.1 游戏规则 170
9.1.2 案例策划 170
9.1.3 游戏框架与构建 173
习题 174
9.2 鼠标交互 174
9.2.1 鼠标 174
9.2.2 鼠标事件 175
9.2.3 SFML鼠标类 177
9.2.4 微软的鼠标双击 177
习题 178
9.3 类的初级应用 179
9.3.1 类 179
9.3.2 项目搭建 179
9.3.3 游戏数值的预定义 179
9.3.4 类的封装 182
9.3.5 Game类的封装 182
9.3.6 游戏的变量 184
9.3.7 Game类的实例化 185
习题 185
9.4 初始化模块 186
9.4.1 游戏窗口创建 186
9.4.2 初始化函数 186
9.4.3 素材加载 187
9.4.4 stringstream对象的格式 188
9.4.5 游戏数值初始化 189
习题 189
9.5 游戏数值 190
9.5.1 布雷函数 190
9.5.2 **次点击 191
9.5.3 游戏数值标记 192
习题 194
9.6 图形绘制模块 194
9.6.1 绘制模块设计 194
9.6.2 网格的绘制 195
9.6.3 图形按钮绘制 196
9.6.4 游戏计数绘制 199
9.6.5 计时器绘制 200
9.6.6 游戏结束画面绘制 201
习题 202
9.7 输入模块 203
9.7.1 输入模块设计 203
9.7.2 鼠标点击响应 204
9.7.3 右键单击函数 205
9.7.4 左键单击函数 207
9.7.5 左键双击函数 208
9.7.6 按钮的交互 209
9.7.7 方格状态的其他描述方式 210
习题 211
9.8 逻辑模块 211
9.8.1 逻辑调用 211
9.8.2 Nullclick()函数 213
9.8.3 unCover()函数 214
9.8.4 胜负判定 214
习题 216
9.9 微软扫雷的双键点击规则 217
9.9.1 微软扫雷的双键点击规则 217
9.9.2 双键点击事件 218
9.9.3 双键点击响应 220
9.9.4 双键响应的逻辑和调用 222
9.9.5 规则细节完善 223
习题 228
第10章 双人版俄罗斯方块 231
10.1 俄罗斯方块规则 231
10.1.1 俄罗斯方块规则 231
10.1.2 图形方块的数字描绘 232
10.1.3 框架构建 235
习题 239
10.2 俄罗斯方块的双人架构 241
10.2.1 游戏平台类 241
10.2.2 游戏初始化 243
10.2.3 游戏输入 247
10.2.4 游戏逻辑 248
10.2.5 游戏绘制 249
10.2.6 游戏循环 250
10.2.7 游戏入口 251
习题 251
10.3 Next区和Bag7 252
10.3.1 Next区初始化 252
10.3.2 Next区逻辑设定 254
10.3.3 Bag7算法 255
10.3.4 Next区绘制 256
习题 257
10.4 高阶之Hold区 258
10.4.1 Hold区设计 258
10.4.2 对象间数据交换与静态变量 259
10.4.3 Hold功能实现 260
10.4.4 Hold函数的调用 266
习题 266
10.5 旋转和踢墙 266
10.5.1 图形编码 266
10.5.2 图形的标记与管理 268
10.5.3 Logic()函数的模块化整理 269
10.5.4 踢墙 271
习题 275
10.6 速降、底部缓冲与投影 275
10.6.1 辅助设计 275
10.6.2 速降 277
10.6.3 底部缓冲 278
10.6.4 投影 279
习题 281
10.7 功能按钮 283
10.7.1 界面按钮设定 283
10.7.2 初始化模块更新 285
10.7.3 按钮绘制 286
10.7.4 输入模块更新 288
10.7.5 游戏的开始与结束 291
10.7.6 游戏的暂停与继续 292
习题 292
10.8 游戏动画 294
10.8.1 预定义 294
10.8.2 逻辑函数调整 295
10.8.3 消行检测与消行执行 298
10.8.4 新图形生成函数 300
10.8.5 消行动画特效 301
10.8.6 绘制模块管控 303
习题 303
10.9 胜负与输出 304
10.9.1 胜负判定 304
10.9.2 胜负结果绘制 306
10.9.3 文字输出 307
习题 310
参考文献 311
展开全部
书友推荐
- >
月亮与六便士
月亮与六便士
¥15.1¥42.0 - >
随园食单
随园食单
¥21.1¥48.0 - >
小考拉的故事-套装共3册
小考拉的故事-套装共3册
¥36.7¥68.0 - >
唐代进士录
唐代进士录
¥15.1¥39.8 - >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥7.7¥24.0 - >
烟与镜
烟与镜
¥14.4¥48.0 - >
伊索寓言-世界文学名著典藏-全译本
伊索寓言-世界文学名著典藏-全译本
¥9.3¥19.0 - >
诗经-先民的歌唱
诗经-先民的歌唱
¥13.5¥39.8
本类畅销
-
Photoshop 2022中文版案例教程
¥44.1¥59.8 -
局域网组建、管理与维护(第4版)(微课版)
¥47¥59 -
园林AUTOCAD教程
¥24¥45 -
Python实战编程:从零学Python
¥81¥108 -
Java程序设计基础
¥37¥50 -
数据备份与恢复
¥51.4¥69