《DirectX 游戏开发终极指南》游戏项目编译成功的方法

网上看到很多对游戏编程有兴趣的朋友都在说《DirectX 游戏开发终极指南》这本书的游戏项目无法编译通过,自己研究了一下,上网也看了好多提问,终于摸索出成功编译的方法,希望跟这些朋友一起分享一下,大家一起学习一起进步。

下面开始正题:

首先,必须在vs2003以上的环境建立工程,因为最新的dxsdk对vc6已经不支持了,而且《DirectX 游戏开发终极指南》游戏项目中要用到的directinput在vc6下也有错误。要编译通过随书附带的游戏项目示例程序,要用早期版本DX9。0c 因为最新版本的DX9已经没有directmusic了。而本书要用到。我用的是2006年的。

好,下面开始

  1.      新建一个项目,编译游戏引擎lib。书上实现了一个引擎,以静态链接库的形式运用到游戏项目中,我们要手动重新编译这个lib,把StrandedEngine文件夹的文件都拷到新建工程目录下,然后在工程里添加这些文件,之前记得选择是要编译静态库,然后编译,(注意:这一步会有两个错误,分别是两个循环控制变量的定义问题,一个是i一个是s,把它们改成:int i,int s就可以编译通过了)成功后会生成StrandedEngine.lib这个文件。
  2.      新建一个win32项目,这是项目就是我们的游戏项目,把main.h和main.cpp拷到工程目录下,在工程文件目录建一个文件夹lib,将上步生成的StrandedEngine.lib拷入其中。再新建一个文件夹StrandedEngine,将上步用到的头文件都拷到其中(这步很重要,不要忘记)。将游戏的资源:maps,sounds,menu三个文件夹拷到工程目录。

自此,游戏所需要的文件都齐全了,下面就是编译了,不过在这之前还有一个重要的设置:工程设置里的字符集不能是unicode,改为未设置或者多字符集均可。

好了,可以编译了,不出意外的话(也许因为lib文件放的路径不同,需要修改一下main.h里面的引用lib的路径),编译成功后就可以执行了,不过还有个地方需要注意,就是插上一个游戏手柄,不然会出现错误,至少在我电脑上面是这样的,个人也觉得比较诡异。

 

《DirectX 游戏开发终极指南》的每个游戏项目都可以这样去做,这本书不错,实现了一个小的游戏引擎,适合初学者,我也还在继续学期里面的内容,加油!!!

posted @ 2011-11-07 21:52  ☆A希亿  阅读(1656)  评论(0编辑  收藏  举报