《游戏编程入门》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)莫里森(Morrison.M.)著;徐刚,于健,薛雷译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2005
  • ISBN:7115136602
  • 页数:377 页
图书介绍:本书介绍如何设计和构建自己的计算机游戏。

目录 3

第1部分 入门 3

第1章 学习开发游戏的基础知识 3

1.1 认识视频游戏 3

1.1.1 为什么人们如此沉迷于开发视频游戏 4

1.1.2 视频游戏的类型 5

1.2 学习游戏设计的要素 7

1.2.1 提出基本思想 7

1.2.2 整理剧情 8

1.2.3 可视化图形 9

1.2.5 使用控制器控制游戏 10

1.2.4 为游戏选择正确的声音 10

1.2.6 确定游戏模式 11

1.3 面向对象的编程和游戏 12

1.3.1 理解OOP 12

1.3.2 在游戏中应用OOP 13

1.4 研究相关工具 14

1.4.1 编译器和开发环境 15

1.4.2 选择图形工具 15

1.4.3 选择声音和音乐工具 15

1.5 小结 16

1.6 亲身实践 16

2.1 什么是游戏引擎 17

第2章 创建游戏引擎 17

2.2 考虑游戏引擎的作用 18

2.2.1 将游戏分解为事件 18

2.2.2 建立游戏的计时机制 19

2.3 开发游戏引擎 21

2.3.1 游戏事件函数 21

2.3.2 GameEngine类 22

2.4 开发Blizzard示例 33

2.4.1 编写程序代码 33

2.4.2 测试完成的程序 37

2.6 游戏大变身 38

2.5 小结 38

第3章 学习绘制基本图形 39

3.1 图形基础 39

3.1.1 理解图形坐标系统 40

3.1.2 学习颜色的基础知识 40

3.2 查看Windows中的图形 42

3.2.1 使用设备环境 42

3.2.2 使用画笔写 43

3.2.3 使用画刷绘制 44

3.2.4 使用位图绘制图像 44

3.2.5 使用调色板管理颜色 44

3.3 绘制窗口 45

3.3.1 绘制文本 46

3.3.2 绘制图元 47

3.3.3 使用画笔和画刷 49

3.4 开发Crop Circles示例 50

3.4.1 编写程序代码 51

3.4.2 测试完成的程序 54

3.5 小结 54

3.6 亲身实践 55

第4章 绘制图形图像 56

4.1 位图图像的基础知识 56

4.3 开发位图类 58

4.2 深入学习位图 58

4.3.1 位图类的工作原理 59

4.3.2 整合代码 59

4.4 开发Slideshow示例 62

4.4.1 编写程序代码 62

4.4.2 汇集资源 65

4.4.3 测试完成的程序 67

4.5 小结 67

4.6 游戏大变身 68

第5章 使用键盘和鼠标控制游戏 71

5.1 游戏与用户输入 71

第2部分 与游戏玩家交互 71

5.2 了解用户输入设备 73

5.2.1 接受键盘输入 73

5.2.2 响应鼠标 74

5.2.3 使用游戏杆交互 75

5.3 评估游戏的键盘输入 75

5.4 跟踪鼠标 76

5.5 向游戏引擎添加输入支持 77

5.5.1 添加键盘支持 78

5.5.2 添加鼠标支持 78

5.5.3 修改Bitmap类 79

5.6 开发UFO示例 81

5.6.1 编写程序代码 82

5.6.2 测试完成的程序 85

5.7 小结 86

5.8 亲身实践 86

第6章 示例游戏:Brainiac 87

6.1 游戏的玩法 87

6.2 设计游戏 88

6.3 开发游戏 89

6.4 测试游戏 95

6.5 小结 96

6.6 游戏大变身 97

7.1 了解游戏杆的基础知识 98

第7章 使用游戏杆改进输入 98

7.2 校准游戏杆 99

7.3 追踪游戏杆的移动 101

7.4 向游戏引擎添加游戏杆支持 103

7.4.1 访问Win32多媒体功能 103

7.4.2 开发游戏杆代码 104

7.5 开发UFO 2示例 108

7.5.1 编写程序代码 108

7.5.2 测试完成的程序 110

7.6 小结 111

7.7 亲身实践 112

第8章 示例游戏:Light Cycles 113

8.1 游戏的玩法 114

8.2 设计游戏 114

8.3 开发游戏 116

8.4 测试游戏 127

8.5 小结 128

8.6 游戏大变身 128

第3部分 在游戏中使用子画面 131

第9章 使用子画面动画移动对象 131

9.1 理解动画的基础知识 131

9.1.1 动画和帧频 132

9.1.2 了解计算机动画 132

9.2 2D动画与3D动画 133

9.3 理解2D动画的类型 134

9.3.1 基于帧的动画 134

9.3.2 基于形状的动画 134

9.4 将子画面动画应用于游戏 138

9.5 设计通用的子画面 139

9.6 创建Sprite类 141

9.6.1 创建和破坏子画面 142

9.6.2 更新子画面 143

9.6.3 绘制子画面 145

9.7.1 编写程序代码 146

9.7 开发Planets示例程序 146

9.7.2 测试完成的程序 150

9.8 小结 151

9.9 亲身实践 152

第10章 管理子画面 153

10.1 了解管理子画面的需求 153

10.2 设计子画面管理器 154

10.3 向游戏引擎添加子画面管理器 155

10.3.1 改进Sprite类 155

10.3.2 增强游戏引擎 157

10.4 使用双重缓存消除闪烁 159

10.5.1 编写程序代码 161

10.5 开发Planets 2示例 161

10.6 小结 165

10.5.2 测试完成的程序 165

10.7 游戏大变身 166

第11章 示例游戏:Henway 167

11.1 游戏的玩法 167

11.2 设计游戏 169

11.3 开发游戏 170

11.4 测试游戏 177

11.5 小结 179

11.6 游戏大变身 179

12.1 理解数字声音 183

第4部分 使用声音和音乐 183

第12章 播放数字声音效果 183

12.2 了解Windows波形声音 185

12.3 了解声音工具 186

12.3.1 Sony Sound Forge 187

12.3.2 Adobe Audition 187

12.3.3 廉价的声音编辑器 187

12.4 创建和编辑声音 187

12.5 查找声音和音乐 188

12.6 访问波形声音 188

12.7 播放波形声音 189

12.7.2 播放作为资源的波形声音 190

12.7.1 播放文件中的波形声音 190

12.7.3 循环播放波形声音 191

12.7.4 停止播放波形声音 191

12.8 开发Brainiac 2示例程序 192

12.8.1 编写程序代码 192

12.8.2 组合资源 194

12.8.3 测试完成的游戏 195

12.9 小结 196

12.10 亲身实践 196

13.1 感受MIDI音乐 198

第13章 播放MIDI音乐 198

13.2 理解Windows媒体控制接口 200

13.3 使用MCI播放MIDI音乐 201

13.3.1 打开MIDI设备 201

13.3.2 播放MIDI歌曲 202

13.3.3 暂停MIDI歌曲 203

13.3.4 关闭MIDI设备 203

13.4 向游戏引擎添加MIDI音乐支持 203

13.5 开发Henway 2示例程序 205

13.5.1 编写程序代码 205

13.5.2 测试完成的游戏 209

13.7 亲身实践 210

13.6 小结 210

第14章 示例游戏:Battle Office 211

14.1 游戏的玩法 211

14.2 设计游戏 212

14.3 开发游戏 215

14.4 测试游戏 222

14.5 小结 223

14.6 亲身实践 224

第5部分 高级动画 227

第15章 实现子画面外观动画 227

15.1 再次介绍帧动画 227

15.2 设计动画子画面 228

15.3 向游戏引擎添加动画子画面支持 230

15.3.1 只绘制位图的一部分 230

15.3.2 对Sprite类实现动画 231

15.4 开发Battle Office 2示例程序 233

15.4.1 编写程序代码 233

15.4.2 测试完成的游戏 235

15.5 小结 235

15.6 游戏大变身 236

第16章 创建子画面背景 237

16.1 了解游戏背景的重要性 237

16.2.1 纯色背景 238

16.2 了解游戏背景的类型 238

16.2.2 图像背景 239

16.2.3 动画背景 239

16.2.4 滚动背景 239

16.3 向游戏引擎添加背景支持 240

16.3.1 创建基本的背景类 240

16.3.2 创建动画背景类 242

16.4 开发Roids示例 245

16.4.1 编写程序代码 245

16.4.2 测试完成的游戏 248

16.5 小结 248

16.6 亲身实践 249

第17章 示例游戏:Meteor Defense 250

17.1 游戏的玩法 250

17.2 设计游戏 251

17.3 增强游戏引擎中的子画面 254

17.4 开发游戏 256

17.5 测试游戏 264

17.6 小结 265

17.7 游戏大变身 265

第6部分 让游戏拥有大脑 269

第18章 教游戏思考 269

18.1 理解人工智能 269

18.2 了解游戏AI的类型 271

18.2.1 漫游AI 272

18.2.2 行为AI 274

18.2.3 策略AI 275

18.3 开发AI策略 276

18.4 开发Roids 2示例程序 276

18.4.1 编写程序代码 277

18.4.2 测试完成的程序 280

18.5 小结 281

18.6 亲身实践 281

第19章 示例游戏:Space Out 282

19.1 游戏的玩法 282

19.2 设计游戏 283

19.3 向游戏引擎中添加另一个子画面特性 286

19.4 开发游戏 287

19.5 测试游戏 297

19.6 小结 298

第7部分 增添游戏的趣味性 303

第20章 使用闪屏增添游戏的活力 303

20.1 闪屏的重要性 303

20.2 了解闪屏 304

20.3 创建Space Out 2游戏 305

20.3.1 编写游戏代码 305

20.5 亲身实践 309

20.3.2 测试完成的游戏 309

20.4 小结 309

第21章 使用演示模式展示游戏 311

21.1 什么是演示模式 311

21.2 演示模式的细节 312

21.3 开发Space Out 3游戏 313

21.3.1 编写游戏代码 313

21.3.2 测试完成的游戏 318

21.4 小结 319

21.5 游戏大变身 320

22.1 记录得分的重要性 321

第22章 记录高分 321

22.2 确定高分数据模型 322

22.3 存储和检索高分数据 323

22.4 开发Space Out 4游戏 325

22.4.1 编写游戏代码 325

22.4.2 测试完成的游戏 330

22.5 小结 331

22.6 亲身实践 332

第8部分 附加练习 335

第23章 使用滚动背景更改远景 335

23.1 什么是滚动背景 335

23.1.2 纵向滚动的背景 336

23.1.1 横向滚动的背景 336

23.2 理解滚动背景的工作原理 337

23.1.3 视差滚动背景 337

23.3 向游戏引擎添加滚动背景支持 338

23.3.1 创建背景图层类 339

23.3.2 创建滚动背景类 344

23.4 开发Wanderer示例 346

23.4.1 编写程序代码 346

23.4.2 测试完成的程序 354

23.5 小结 355

23.6 游戏大变身 355

24.1 游戏的玩法 357

第24章 示例游戏:Stunt Jumper 357

24.2 设计游戏 359

24.3 开发游戏 361

24.4 测试游戏 374

24.5 小结 376

24.6 游戏大变身 376

24.7 亲身实践 377

配套光盘上的附录 381

附录A 选择游戏开发工具 381

A.1 Microsoft Visual C++ 382

A.4 DJGPP 383

A.2 Borland C++ Builder 383

A.3 Bloodshed Dev-C++ 383

附录B C++编程入门 384

B.1 C++语言基础 384

B.2 C++开发周期 385

B.3 创建一个简单的C++程序 385

B.4 使用注释说明代码 387

B.5 使用空白分割代码 387

B.6 将代码组织到函数中 387

B.7 使用表达式操作数据 388

B.8 增强程序示例 389

B.9 变量和常量 390

B.9.1 变量的类型 391

B.9.2 区分大小写 392

B.9.3 关键字 392

B.9.4 字符串和数组 392

B.10 if语句 393

B.11 关系运算符 393

B.12 函数 395

B.13 全局变量 396

B.14 模块 397

B.15 执行多次操作 397

B.17 执行0次或多次操作 398

B.16 至少执行一次操作 398

B.18 for循环 399

B.19 switch语句 399

B.20 加1和减1 400

B.21 学习类的基础知识 401

B.21.1 类与实例 401

B.21.2 理解方法 402

B.21.3 初始化和清理对象 402

B.21.4 析构函数 403

B.22 进一步学习 403

C.1 Windows编程基础 404

附录C Windows游戏编程入门 404

C.1.1 事件驱动编程 405

C.1.2 使用消息通信 405

C.1.3 理解设备独立性 406

C.1.4 将程序信息存储为资源 406

C.1.5 处理陌生的数据类型 406

C.1.6 非传统的编码约定 407

C.2 深入了解Windows程序 408

C.2.1 入门 408

C.2.2 窗口类 408

C.2.3 创建窗口 409

C.2.4 处理消息 410

C.2.5 窗口过程 411

C.2.6 使用资源 412

C.3 开发Skeleton示例 413

C.3.1 编写程序代码 414

C.3.2 组合资源 416

C.3.3 测试完成的程序 417

附录D 创建游戏图形 418

D.1 评估游戏图形 418

D.1.1 确定游戏屏幕大小 418

D.1.2 考虑目标观众的影响 419

D.1.3 确定游戏环境和情绪 419

D.2.1 Image Alchemy 420

D.1.4 坚持一种图形风格 420

D.2 了解图形工具 420

D.2.2 Paint Shop Pro 421

D.2.3 Graphic Workshop 421

D.3 创建和编辑图形 421

D.3.1 艺术线条图形 421

D.3.2 3D渲染图形 422

D.3.3 扫描的照片和视频捕捉的图形 422

D.3.4 背景图形和纹理 423

D.3.5 动画图形 423

D.4 查找图形 423