《游戏编程入门 第4版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)哈伯著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115390417
  • 页数:350 页
图书介绍:本书语言简练,适合有志于进入游戏编程世界且有一定C++编程基础的初学者阅读,也适合作为社会培训机构的培训教材。本书向初出茅庐的游戏开发人员展示了将游戏思想从概念转变为现实的方法。游戏的每个元素都在书中讲授——从学习如何创建简单的Windows程序,到使用关键的Directx组件来渲染2d和3d,再到给游戏添加声音。通过学习本书,读者可以开发出属于自己的用于构建将来的游戏项目的游戏库。

第1部分 Windows和DirectX游戏编程引言 3

第1章 Windows初步 3

1.1 Windows编程概述 4

1.1.1 “获取”Windows 5

1.1.2 理解Windows消息机制 6

1.1.3 多任务 7

1.1.4 多线程 8

1.1.5 事件处理 9

1.2 DirectX快速概览 10

Direct3D是什么 11

1.3 Windows程序基础 12

1.3.1 创建第一个Win32项目 12

1.3.2 理解WinMain 20

1.3.3 完整的WinMain 21

1.4 你所学到的 23

1.5 复习测验 24

1.6 自己动手 25

第2章 侦听Windows消息 26

2.1 编写一个Windows程序 27

2.1.1 理解InitInstance 34

2.1.2 理解MyRegisterClass 36

2.1.3 晒一晒WinProc的秘密 39

2.2 什么是游戏循环 42

2.2.1 老的WinMain 42

2.2.2 WinMain和循环 45

2.3 GameLoop项目 47

GameLoop程序的源代码 47

2.4 你所学到的 54

2.5 复习测验 54

2.6 自己动手 55

第3章 初始化Direct3D 56

3.1 Direct3D初步 56

3.1.1 Direct3D接口 57

3.1.2 创建Direct3D对象 57

3.1.3 第一个Direct3D项目 60

3.1.4 全屏模式的Direct3D 68

3.2 你所学到的 73

3.3 复习测验 73

3.4 自己动手 74

第2部分 游戏编程工具箱 77

第4章 绘制位图 77

4.1 表面和位图 77

4.1.1 主表面 79

4.1.2 从的离屏(off-screen)表面 80

4.1.3 Create Surface示例 82

4.1.4 装载位图 86

4.1.5 Load Bitmap程序 88

4.1.6 代码回收利用 92

4.2 你所学到的 92

4.3 复习测验 93

4.4 自己动手 94

第5章 从键盘、鼠标和控制器获得输入 95

5.1 键盘输入 96

5.1.1 DirectInput对象和设备 96

5.1.2 初始化键盘 97

5.1.3 读取键盘按键 99

5.2 鼠标输入 99

5.2.1 初始化鼠标 100

5.2.2 读取鼠标 101

5.3 Xbox 360控制器输入 102

5.3.1 初始化XInput 103

5.3.2 读取控制器状态 104

5.3.3 控制器振动 105

5.3.4 测试XInput 106

5.4 精灵编程简介 112

5.4.1 一个有用的精灵结构 114

5.4.2 加载精灵图像 115

5.4.3 绘制精灵图像 115

5.5 Bomb Catcher游戏 116

5.5.1 MyWindows.cpp 118

5.5.2 MyDirectX.h 120

5.5.3 MyDirectX.cpp 122

5.5.4 MyGame.cpp 127

5.6 你所学到的 131

5.7 复习测验 132

5.8 自己动手 133

第6章 绘制精灵并显示精灵动画 134

6.1 什么是精灵 134

6.2 加载精灵图像 135

6.3 透明的精灵 137

6.3.1 初始化精灵渲染器 138

6.3.2 绘制透明的精灵 140

6.4 绘制动画的精灵 147

6.4.1 使用精灵表 148

6.4.2 精灵动画演示 150

6.5 你所学到的 154

6.6 复习测验 154

6.7 自己动手 155

第7章 精灵变换 156

7.1 精灵旋转和缩放 156

7.1.1 2D变换 158

7.1.2 绘制变换了的精灵 163

7.1.3 Rotate Scale Demo程序 164

7.1.4 带有变换的动画 166

7.2 你所学到的 169

7.3 复习测验 170

7.4 自己动手 171

第8章 检测精灵碰撞 172

8.1 边界框碰撞检测 172

8.1.1 处理矩形 173

8.1.2 编写碰撞函数 174

8.1.3 新的精灵结构 175

8.1.4 为精灵的缩放进行调整 176

8.1.5 边界框演示程序 176

8.2 基于距离的碰撞检测 180

8.2.1 计算距离 181

8.2.2 编写距离计算的代码 181

8.2.3 测试的碰撞 183

8.3 你所学到的 183

8.4 复习测验 184

8.5 自己动手 185

第9章 打印文本 186

9.1 创建字体 186

9.1.1 字体描述符 187

9.1.2 创建字体对象 188

9.1.3 可重用的MakeFont函数 188

9.2 使用ID3DXFont打印文本 189

9.2.1 使用DrawText打印 189

9.2.2 文本折行 190

9.3 测试字体输出 191

9.4 你所学到的 194

9.5 复习测验 194

9.6 自己动手 195

第10章 卷动背景 196

10.1 卷动 196

10.1.1 背景和布景 198

10.1.2 从图片单元创建背景 198

10.1.3 基于图片单元的卷动 199

10.2 动态渲染的图片单元 205

10.2.1 图片单元地图 205

10.2.2 使用Mappy创建图片单元地图 207

10.2.3 Tile Dynamic Scroll项目 210

10.3 基于位图的卷动 217

10.3.1 基于位图的卷动理论 217

10.3.2 位图卷动演示 218

10.4 你所学到的 221

10.5 复习测验 222

10.6 自己动手 223

第11章 播放音频 224

11.1 使用DirectSound 224

11.1.1 初始化DirectSound 225

11.1.2 创建声音缓冲区 226

11.1.3 装载波形文件 226

11.1.4 播放声音 227

11.2 测试DirectSound 228

11.2.1 创建项目 229

11.2.2 修改“MyDirectX”文件 230

11.2.3 修改MyGame.cpp 232

11.3 你所学到的 238

11.4 复习测验 239

11.5 自己动手 240

第12章 学习3D渲染基础 241

12.1 3D编程简介 242

12.1.1 3D编程的关键组成部分 242

12.1.2 3D场景 242

12.1.3 转移到第三个轴 247

12.1.4 掌握3D管线 248

12.1.5 顶点缓冲区 250

12.1.6 渲染顶点缓冲区 252

12.1.7 创建四边形 253

12.2 带纹理的立方体示例 256

12.3 你所学到的 264

12.4 复习测验 265

12.5 自己动手 266

第13章 渲染3D模型文件 267

13.1 创建以及渲染后援网格 267

13.1.1 创建后援网格 268

13.1.2 渲染后援网格 270

13.1.3 编写着色器代码 270

13.1.4 Stock Mesh程序 272

13.2 装载并渲染模型文件 274

13.2.1 装载.X文件 275

13.2.2 渲染纹理模型 279

13.2.3 从内存中删除一个模型 280

13.2.4 Render Mesh程序 281

13.3 你所学到的 289

13.4 复习测验 289

13.5 自己动手 290

第14章 Anti-Virus(反病毒)游戏 291

14.1 Anti-Virus游戏 291

14.1.1 游戏玩法 292

14.1.2 游戏源代码 302

14.2 你所学到的 329

14.3 复习测验 329

14.4 自己动手 330

第3部分 附录 333

附录A 配置Visual Studio 2013 333

A.1 安装 333

A.2 创建一个新的项目 334

A.3 修改字符集设置 337

A.4 修改VC++路径 338

附录B 各章测验答案 339