《游戏程序设计基础》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:杨长强,高莹编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121274251
  • 页数:261 页
图书介绍:本书系统介绍了Windows API二维开发和Direct3D三维游戏开发和Unity游戏开发相关概念和实现技术。由浅入深,详细介绍了各部分的环境搭建和开发方法。内容全面,完整详细地讲解了二维游戏、Direct3D游戏和利用Unity开发游戏的相关内容,注重理论与实践的结合,对于每一章讲解的技术环节都有对应的实现示例。本书在内容安排上很适合本科教学,对游戏开发感兴趣的初学者自学时也推荐使用本书。

第1章 游戏程序设计概述 1

1.1 计算机游戏的概念 1

1.2 计算机游戏的分类 2

1.2.1 角色扮演游戏 2

1.2.2 动作类游戏 3

1.2.3 实时策略游戏 3

1.2.4 第一视觉射击游戏 3

1.2.5 模拟游戏 4

1.2.6 体育类游戏 4

1.3 设计游戏的要素 4

1.3.1 策划 5

1.3.2 程序 5

1.3.3 美术 5

1.3.4 音乐 6

1.4 计算机游戏的发展趋势 6

1.4.1 沉浸感 6

1.4.2 交互性 6

1.4.3 国际化 7

思考题 7

第2章 Win32应用程序 8

2.1 Visual Studio 2010中Win32应用程序创建过程 8

2.2 Windows主函数 11

2.3 窗口建立过程 12

2.4 Windows消息循环 14

2.5 窗口过程函数 15

2.6 Win32应用程序示例 16

2.7 游戏程序框架 18

思考题 21

第3章 Windows绘图函数 22

3.1 屏幕绘图的相关概念 22

3.1.1 窗口和视口 22

3.1.2 GDI坐标系 23

3.2 画笔、画刷与文字 25

3.2.1 GDI对象的建立 25

3.2.2 GDI对象的选用与删除 27

3.2.3 GDI示例 27

3.3 GDI绘图函数 31

3.3.1 点线函数 31

3.3.2 形状函数 32

3.3.3 填充函数 33

思考题 33

第4章 游戏中的角色与场景 34

4.1 位图显示 34

4.2 镂空贴图 37

4.2.1 使用BitBlt()中的参数Raster完成镂空贴图 38

4.2.2 使用TransparentBlt()函数完成镂空贴图 39

4.3 地图显示 40

4.3.1 平面拼接地图 40

4.3.2 斜角拼接地图 43

思考题 47

第5章 动画 48

5.1 使用定时器完成游戏动画 48

5.1.1 建立定时器 48

5.1.2 删除定时器 49

5.1.3 示例 49

5.2 利用消息循环完成游戏动画 51

5.2.1 利用消息循环完成动画原理 51

5.2.2 示例 52

思考题 54

第6章 键盘与鼠标交互 55

6.1 Windows键盘消息处理 55

6.1.1 Windows键盘概述 55

6.1.2 键盘消息处理 56

6.1.3 键盘交互程序示例 57

6.2 Windows鼠标消息处理 61

6.2.1 鼠标消息的处理方式 61

6.2.2 示例 63

6.2.3 相关函数的讲解 69

思考题 70

第7章 运动与碰撞检测 71

7.1 运动 71

7.1.1 匀速直线运动 71

7.1.2 变速运动 75

7.2 碰撞检测 77

7.2.1 以物体框架来检测碰撞 77

7.2.2 用颜色来检测碰撞 79

7.3 粒子系统 83

思考题 83

第8章 3D游戏概述 84

8.1 3D坐标系及转换 84

8.2 模型对象的建立 85

8.3 视图变换 85

8.3.1 平移变换 86

8.3.2 旋转变换 86

8.3.3 缩放变换 87

8.4 投影变换 87

8.5 3D游戏的开发手段 88

思考题 89

第9章 Direct 3D简介 90

9.1 Direct 3D的体系结构 90

9.1.1 Direct 3D的绘制流程 90

9.1.2 Direct 3D绘制程序框架图 91

9.2 Direct 3D开发环境配置 92

9.3 Direct 3D初始化 94

9.3.1 创建Direct 3D接口对象 95

9.3.2 获取设备的硬件信息 95

9.3.3 填充D3DPRESENT PARAMETERS结构体 96

9.3.4 IDirect 3D设备接口的创建 98

9.4 Direct 3D渲染 99

9.4.1 清屏操作 99

9.4.2 绘制 100

9.4.3 翻转显示 100

9.4.4 Direct 3D的渲染过程 101

9.5 Direct 3D中二维文本的绘制 102

9.6 Direct 3D框架程序 104

思考题 110

第10章 Direct 3D图形绘制基础 111

10.1 以顶点缓存为数据源的图形绘制 112

10.1.1 基础知识 112

10.1.2 在Direct 3D编程中使用顶点缓存的四个步骤 113

10.2 顶点缓存程序示例 120

10.3 以索引缓存为数据源的图形绘制 123

10.4 索引缓存程序示例 128

10.5 Direct 3D内置几何体概述 132

10.5.1 立方体的创建 132

10.5.2 圆柱体的创建 133

10.5.3 2D多边形的创建 134

10.5.4 球体创建 134

10.5.5 圆环的创建 135

10.5.6 茶壶的创建 135

思考题 136

第11章 Direct 3D变换 137

11.1 视图变换 137

11.2 投影变换 141

11.3 视口变换 142

11.4 Direct 3D变换示例 143

11.5 Direct 3D固定功能渲染流水线概述 148

思考题 149

第12章 Direct 3D光照与材质 150

12.1 光照类型 150

12.1.1 环境光 150

12.1.2 漫反射光 151

12.1.3 镜面反射光 151

12.1.4 自发光 152

12.2 光源类型 152

12.2.1 点光源 154

12.2.2 方向光源 154

12.2.3 聚光灯光源 155

12.3 材质 155

12.4 灯光与材质示例 157

思考题 162

第13章 Direct 3D纹理映射 163

13.1 纹理映射的概念 163

13.2 Direct 3D中纹理映射的实现方法 163

13.2.1 纹理坐标的定义 163

13.2.2 顶点坐标与纹理坐标的对应 164

13.2.3 纹理的创建 165

13.2.4 纹理的启用 166

13.3 纹理绘制示例 168

思考题 173

第14章 游戏引擎 174

14.1 什么是游戏引擎 174

14.2 目前比较流行的几款主流引擎 175

14.3 Unity游戏引擎简介 176

14.4 Unity下载与安装 178

思考题 180

第15章 Unity程序开发框架和编辑器使用 181

15.1 Unity程序开发框架、工程和应用以及场景的关系 181

15.2 工程的创建和导入 182

15.3 Unity编辑器介绍 184

15.3.1 官方资源导入方法 184

15.3.2 场景中的6个视图 185

15.3.3 编辑器界面设置 186

15.3.4 Unity编辑器——Project(项目视图) 186

15.3.5 Unity编辑器——Hierarchy(层次视图) 188

15.3.6 Unity编辑器——Inspector(检视视图) 190

15.3.7 Unity编辑器——Scene(场景视图) 192

15.3.8 Unity编辑器——Game(游戏视图) 194

15.3.9 Unity编辑器——Console(控制台视图) 195

思考题 195

第16章 资源和游戏对象 196

16.1 Unity资源 196

16.1.1 场景、资源、游戏对象、组件间的关系 196

16.1.2 内部资源创建 198

16.1.3 外部资源导入 199

16.1.4 Unity中预设的创建 200

16.1.5 Unity中图片、模型和音频、视频的支持 200

16.2 Unity常用组件介绍 202

16.2.1 Transform(变换组件) 202

16.2.2 Camera(摄像机组件) 203

16.2.3 Lights(光源) 205

16.3 常用物理引擎组件 206

16.3.1 Rigidbody(刚体组件) 206

16.3.2 Collider(碰撞器组件) 207

思考题 208

第17章 Unity脚本程序基础 209

17.1 什么是脚本程序 209

17.2 Unity脚本编辑器 210

17.3 Unity脚本的创建与编辑 211

17.3.1 Script(脚本)创建 211

17.3.2 编辑脚本程序 212

17.3.3 常用事件函数 214

17.3.4 游戏对象和组件访问 215

思考题 217

第18章 Unity GUI图形用户界面 218

18.1 UGUI的基本介绍 218

18.2 UGUI的创建和基本操作 219

18.3 UGUI实例演示 220

18.3.1 GUI之Button和Text 221

18.3.2 GUI之Toggle应用 222

18.3.3 GUI的Image和Scrollbar应用 224

18.3.4 通过Button调用其他场景 225

18.3.5 Slider与游戏对象 226

18.4 打包与发布 227

思考题 228

第19章 Mecanim动画系统 229

19.1 Mecanim动画系统及其优势 229

19.2 Mecanim工作流程 230

19.3 人形角色动画讲解 230

思考题 238

第20章 游戏开发实例——奔跑的轮胎 239

思考题 260

参考文献 261