第1部分 阅读本书须知 3
第1章 本书的准备工作 3
DirectX 4
设置编译器 7
Windows编程概述 14
理解程序流 20
模块化程序设计 21
状态和处理过程 22
处理应用程序数据 27
创建应用程序框架 30
将工程进行结构化 35
本章小结 35
第2部分 Directx基础 39
第2章 使用DirectXGraphics绘图 39
3-D图形的核心 40
DirectXGraphics入门 47
3-D的数学知识 54
详解绘图 58
使用纹理贴图 73
Alpha混合 80
使用字体 93
公告板 95
粒子 97
深度排序和Z缓冲 100
视区的运用 102
网格模型的运用 103
网格模型和D3DX 109
本章小结 117
第3章 使用Directlnput进行交互 118
输入设备简介 119
使用DirectInput 124
使用DirectInput设备 127
使用DirectInput处理键盘 137
使用DirectInput处理鼠标 139
使用DirectInput处理游戏杆 140
本章小结 144
第4章 用DirectXAudio和DirectShow播放声音和音乐 145
声音基础 146
理解DirectAudio 150
使用DirectSound 150
使用DirectMusic 175
加入到MP3革命中 192
本章小结 197
第5章 使用DirectPlay进行网络互联 199
了解网络互联 200
DirectPlay概述 204
初始化网络对象 210
使用地址 212
使用消息处理函数 217
配置会话信息 218
服务器端的处理 220
客户端的处理 230
本章小结 235
第6章 创建游戏内核 236
理解内核概念 237
系统内核 238
图形内核 245
输入内核 264
声音内核 267
网络内核 278
本章小结 284
第3部分 角色扮演游戏编程 287
第7章 二维图形的使用 287
贴片与地图 288
在DirectX中使用贴片 289
一个基本的贴片引擎 299
大位图引擎 310
斜角贴片引擎 310
本章小结 312
第8章 创建三维的图形引擎 313
网格模型的层次 314
视锥的介绍 318
高级三维引擎的开发 327
将三维物体添加到世界中 348
网格模型的碰撞检测 350
天框的使用 357
本章小结 362
第9章 二维与三维图形引擎的混合 363
两种不同维数图形的混合 364
在三维世界中使用二维的物品 364
在二维世界中添加三维物体 369
本章小结 376
第10章 脚本的实现 378
脚本的理解 379
MadLibScript系统的创建 380
MLS编辑器的使用 397
MadLibScripts的执行 400
将脚本运用到游戏中 403
本章小结 403
第11章 物件的定义和使用 404
在游戏中定义物件 405
主物件列表 414
使用物品清单系统管理物件 419
本章小结 434
第12章 玩家和角色的控制 436
玩家,角色及怪兽 437
角色问的交谈 459
脚本与角色 468
资源管理 472
魔法与法术 474
战斗与角色 489
构造主角色列表 494
创建角色控制器类 498
Chars示范程序 515
本章小结 516
第13章 地图与场景的使用 518
地图上的角色 519
地图触发器的使用 522
使用障碍物堵塞路径 539
自主地图的使用 545
本章小结 560
第14章 战斗序列的创建 562
设计外部的战斗序列 563
战斗序列的开发 566
战斗布置 579
本章小结 579
第15章 多人在线游戏 581
疯狂的多人游戏 582
多玩家游戏的设计 583
创建多人游戏的构架 586
游戏服务器的工作 591
游戏客户端的处理 610
本章小结 624
第4部分 完结篇 627
第16章 整合一个完整的游戏 627
实例游戏的设计 628
编程一个范例游戏 642
本章小结 670
第5部分 附录 673
附录A 参考书目 673
推荐阅读 674
从互联网上获取帮助 676
附录B 本书的配套光盘 679
附录C 术语表 682