《VC.NET游戏开发技术》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:徐青编著
  • 出 版 社:清华大学出版社;北京交通大学出版社
  • 出版年份:2008
  • ISBN:9787811233544
  • 页数:351 页
图书介绍:本文通过实例循序渐近地介绍以Visual Studio 2005 C++与DirectX9.0C为基本开发环境的Windows游戏程序设计的原理、方法。主要内容包括:基本Visual Studio 2005 C++的开发方法介绍,游戏开发的基础知识,游戏开发的高级技术,游戏开发中的基础数学知识,游戏的声音与输入编程,网络游戏开发的基础知识以及游戏中的AI开发的基础知识。

第1章 编写游戏的语言 1

1.1 VC.NET开发工具概述 1

1.1.1为什么使用C++作为游戏开发语言 1

1.1.2创建第一个项目 1

1.2 VC.NET基础知识 11

1.2.1基本数据类型 11

1.2.2变量 12

1.2.3 操作符与表达式 14

1.2.4名字的作用域 16

1.2.5命名空间 17

1.2.6预编译指令 19

1.3结构、联合与枚举 20

1.3.1结构 20

1.3.2联合 20

1.3.3枚举 21

1.4控制语句 22

1.4.1 if语句 22

1.4.2 switch语句 23

1.4.3 while语句 25

1.4.4 do while语句 26

1.4.5 for语句 26

1.5指针与数组 27

1.5.1指针 27

1.5.2数组 29

1.6函数与常用函数 32

1.6.1函数定义 32

1.6.2函数声明 32

1.6.3参数传递 32

1.6.4内联函数 34

1.6.5重载函数 34

1.6.6常用函数 36

1.7总结 38

第2章 如何更好地编写VC.NET程序 39

2.1类概述 39

2.1.1类的定义与声明 39

2.1.2类对象 45

2.1.3隐含的this指针 45

2.1.4类的作用域 46

2.2类的构造函数 47

2.2.1构造函数的初始化 48

2.2.2默认实参与构造函数 48

2.2.3使用构造函数 49

2.3类的静态成员 50

2.3.1定义静态成员 51

2.3.2静态成员函数 51

2.3.3静态数据成员 52

2.3.4类的静态成员使用 52

2.4操作符重载 53

2.4.1操作符重载的定义 53

2.4.2操作符重载的使用 54

2.5类的继承 56

2.5.1定义基类和派生类 56

2.5.2类继承的使用 57

2.6虚函数与抽象类 59

2.6.1虚函数的概念 59

2.6.2多态 60

2.6.3虚函数的语法 62

2.6.4虚函数使用技巧 63

2.7模板 65

2.7.1模板定义 65

2.7.2模板的使用 67

2.8异常处理 70

2.8.1异常处理的概念 70

2.8.2 throw表达式 70

2.8.3 try块 71

2.8.4标准异常类 71

2.8.5标准库异常类 72

2.9总结 72

第3章 游戏开发基础 73

3.1 Windows编程基础知识 73

3.1.1基本Windows程序 73

3.1.2 WinMain函数 83

3.1.3消息处理函数 87

3.1.4常用Windows函数 87

3.2游戏编程的图形基础知识 88

3.2.1像素和分辨率 88

3.2.2 RGB色彩 89

3.2.3设备无关位图(DIB) 89

3.2.4位深度 90

3.2.5抖动处理 90

3.2.6调色板 90

3.2.7 GDI与DirectDraw 91

3.2.8位块传送 91

3.2.9翻页 92

3.2.10矩形 92

3.2.11精灵动画 92

3.2.12关键色 93

3.2.13补丁 93

3.2.14范围检查与碰撞检测 94

3.3 Direct3D 94

3.3.1 Direct3D概述 94

3.3.2 Driect3D的基础知识 94

3.3.3初始化Direct3D 96

3.4绘制三角形 98

3.5绘制立方体 107

3.6矩阵旋转 117

3.7总结 122

第4章 游戏开发中的数学知识 123

4.1向量 123

4.2矩阵 128

4.3基本变换 133

4.4游戏开发的平面知识 136

4.5总结 141

第5章 丰富的游戏开发技巧 142

5.1基本特效工具 142

5.1.1初始化GDI+ 142

5.1.2画笔与画刷 143

5.1.3 GDI+绘图函数 152

5.1.4图形几何变换 154

5.2游戏中的纹理制作 155

5.2.1纹理概述 155

5.2.2在DirectX中使用纹理 156

5.3游戏中的灯光与材质 163

5.3.1 DirectX光照与真实世界光照 163

5.3.2在游戏中实现灯光 165

5.4游戏中的各种形状 166

5.5索引缓冲 176

5.5.1什么是索引缓冲 176

5.5.2在DIRECTX中实现索引缓冲 177

5.5.3创建地形 182

5.6游戏中的3D模型 183

5.7游戏中的2D图形 186

5.8总结 193

第6章 游戏的声音与输入处理 194

6.1声音与音乐输入 194

6.1.1 DirectSound简介 194

6.1.2 DirectSound常用对象 195

6.1.3 DirectSound设备对象 196

6.1.4 DirectSound的buffer对象 199

6.1.5使用WAV文件 206

6.1.6增加声音特效 206

6.1.7完整的示例 208

6.2键盘与鼠标输入 209

6.2.1 DirectInput基础 209

6.2.2 DirectInput的实际使用 212

6.2.3缓冲数据与即时数据 216

6.3总结 220

第7章 游戏的数据结构与加速游戏 221

7.1游戏的数据结构 221

7.1.1链表 221

7.1.2哈希表 221

7.1.3快速排序 222

7.1.4深度优先搜索 223

7.1.5广度优先搜索 226

7.1.6启发式搜索 228

7.1.7动态规划 234

7.1.8神经网络 235

7.1.9遗传规划 236

7.2加速游戏的技巧 237

7.2.1内嵌汇编简介 237

7.2.2基本指令 237

7.2.3算术指令 239

7.2.4逻辑与移位指令 240

7.2.5比较、测试、转移与循环指令 240

7.2.6 MMX指令集之基本指令 242

7.2.7 MMX指令集之算术与比较指令 244

7.2.8 MMX指令集之逻辑与移位指令 244

7.2.9 MMX指令集之格式调整指令 245

7.3总结 246

第8章 游戏中的3D世界 247

8.1 3D字体 247

8.1.1 ID3DXFont 247

8.1.2 CD3DFont 249

8.1.3 D3DXCreateText 250

8.2游戏开发中的mesh模型 251

8.2.1几何信息 251

8.2.2子集和属性缓存 252

8.2.3绘制 253

8.2.4优化 253

8.2.5属性表 255

8.2.6邻接信息 256

8.2.7复制 257

8.2.8创建一个Mesh 258

8.2.9实例程序:创建和渲染Mesh 259

8.3 X文件 263

8.3.1 ID3DXBuffer 263

8.3.2 X文件 264

8.3.3读取X文件 264

8.3.4 X文件的材质 265

8.3.5实例程序:X文件 265

8.3.6产生顶点法线 268

8.4渐进网格 268

8.4.1产生一个渐进网格 269

8.4.2顶点品质权重 270

8.4.3 ID3DXPMesh接口 270

8.4.4实例程序:渐进网格 271

8.5界线容积 273

8.5.1一些新的特殊常量 274

8.5.2界线容积类型 275

8.5.3实例程序:界线容积 276

8.6创建灵活的摄像机类 277

8.6.1摄像机设计 277

8.6.2执行详细资料 279

8.6.3实例程序:摄像机 284

8.7粒子系统 286

8.7.1粒子系统简介 286

8.7.2粒子系统的实现 287

8.7.3粒子系统的渲染过程 288

8.7.4粒子系统的精灵 290

8.7.5粒子系统的例子 291

8.8骨骼动画 301

8.8.1骨骼动画简介 301

8.8.2骨骼动画实现 301

8.8.3骨骼动画例子 302

8.9总结 310

第9章 网络世界中的游戏 311

9.1网络游戏开发的基本概念 311

9.1.1客户/服务会话 311

9.1.2初始化客户/服务会话 312

9.1.3为客户端选择一个服务协议 312

9.1.4选择客户端与服务器的主机地址 312

9.1.5连接客户端与服务端的会话 313

9.1.6管理客户/服务会话 313

9.2网络游戏的开发 314

9.2.1网络通信模块 314

9.2.2服务器和客户端的游戏协议 319

9.2.3线程池技术 321

9.2.4内存分配处理技术 322

9.2.5线程同步 324

9.2.6完成端口模式下的高性能网络服务器 327

9.3 Windows Socket介绍 332

9.3.1第一个网络程序 332

9.3.2服务器端 334

9.3.3客户端 335

9.3.4程序实例 335

9.3.5错误处理 339

9.3.6显示IP地址 339

9.4总结 340

第10章 游戏中的AI 341

10.1游戏AI基础 341

10.1.1单位活动AI 341

10.1.2反应性AI 341

10.1.3自发性AI 342

10.1.4单位行动 342

10.2游戏AI初步 342

10.2.1何谓启发式搜索算法 343

10.2.2人工智能算法的基础 344

10.2.3人工智能算法实例 345

10.2.4人工智能方法总结 349

10.3总结 350

参考文献 351