本书针对一般PC游戏编程的过程,从游戏工程的组织(第1章),DirectDraw编程(第
2章),DirectInput编程(第3章),DirectSound和DirectMusic编程(第4章)等方面,循序渐
进地对DirectX游戏编程的细节进行介绍说明,并附有大量表格和图片加以辅助理解;初
步介绍有关Direct3D的部分内容(第5章),以引导读者进一步地思考和实践。考虑到有
些初学者对直接在Windows下进行C语言编程还不是很熟悉,本书的配套光盘中安排了
有关Windows下C语言编程的基础教程。
本书适用于具有C语言基础的初级和中级程序员,以及游戏编程爱好者。
第1章 DirectX游戏编程基础
1.1 DirectX基础
1.2 一个简单的游戏代码
1.3 组织一个游戏工程
第2章 游戏编程—DirectDraw程序开发
2.1 创建DirectDraw界面
2.2 在游戏中加入色彩和调色板
2.3 让游戏画面动起来
2.4 对画面进行剪切
2.5 在游戏中加入位图
2.6 更进一步: 窗口中的DirectDraw
2.7 色彩效果初步
第3章 控制精灵—获取DirectInput数据
3.1 游戏的输入循环
3.2 获取键盘输入
3.3 获取鼠标输入
3.4 游戏摇杆和力反馈
第4章 加入声音—DirectSound和DirectMusic
4.1 声音基础
4.2 声音文件WAV和MIDI
4.3 DirectSound应用
4.4 DirectMusic应用
第5章 3D游戏初步
5.1 DirectSound3D组件
5.2 Direct3D基础
最早的游戏应该追溯到20世纪60年代在Unix机器上运行的CoreWars。随着计算机硬件的飞速发展,多媒体技术和游戏编程逐渐走向成熟。现在运用各种开发工具,自己参与进行游戏设计已经不是什么难事。
Microsoft公司提供的DirectX是目前比较普遍的Windows游戏设计开发工具(SDK)。它基本包括了2D、3D、声音、控制、网络等的基本操作函数,使程序员不必直接与硬件打交道,大大地提高了游戏开发的简易性和效率。
延续“快乐写游戏,轻松学编程”PC游戏编程丛书的总体风格,本书主要运用C语言。因为DirectX SDK已经提供了大量的函数,只要加上最基本的Windows构架,就可以提供一个比较宽松的开发框架,这也使得一些C程序员不必对C++的某些内容做详细了解。当然,如果把它作为从C到C++的一个参考,也是不错的主意。
书中所有的程序都是使用Microsoft Visual C++ 6.0编译器编译。在此顺便提醒:VC++ 6.0只是一个编译工具,它并不是语言;C或C++是指一门语言;VC++ 6.0既可以编译C++程序,也可以编译C程序。故不要一看到VC程序就觉得很难。
书中以一个小游戏为主线,从它的构建开始,逐步完善图像、操作、声音等功能,每个步骤都有详细的说明,基本包括了主要的DirectX组件的详细说明。
作为实例,书中的精灵图案使用的是现在比较流行的游戏——疯狂坦克的图标。这个游戏比较有趣,可以作为网络游戏的一个代表来参考。
拓智文化CG实验室网站www.cglab.info上有关于本书和DirectX的精彩内容板块,大家可以访问这个网站来探讨交流有关问题!
非常感谢重庆大学出版社陈其先生、重庆拓智文化发展有限公司陈治刚先生和其他对本书编写和出版鼎力支持的朋友们!
感谢一直支持我们的家人、朋友,他们是我们坚持的动力!