3D游戏编程大师技巧──2D引擎的编译问题

时间:2023-01-11 17:51:50

  接上一篇文章,这里将介绍2D引擎的编译,从现在开始才真正进入《3D游戏编程大师技巧》的学习。本书的第一、二章只是简介了游戏编程和windows编程,从第三章开始才是介绍《windows游戏编程大师技巧》一书中编写的2D引擎,作者将以这款2D引擎为基础制作3D引擎。如果你不想去看这款2D引擎的源代码,那么你完全可以将其视为一个黑盒子来用。但是由于这两本书都比较古老,作者写的代码可能不能直接在现在的编译器上通过编译。接下来以我自己的环境为例来成功编译运行这款2D引擎。

  我的环境:win8.1 64位,32位色,vs2013

  以第三章的demoII3_4为例子,进行编译。建立工程(见前一篇文章)将相应的源文件和资源添加到工程。编译时会提示一些错误,下面是错误及修改方法:

  1、#include<iostream.h> ;将其改为:#include<iostream>

  2、error C2065: “index”: 未声明的标识符;将对应for循环中的 int index=0提到循环外

  修复上面问题后基本可以编译通过,但是运行一般会提示:

  3D游戏编程大师技巧──2D引擎的编译问题

  遇到以上问题,可以找到t3dlib.cpp文件中的Load_Bitmap_File函数,注释掉:_lseek(file_handle,-(int)(bitmap->bitmapinfoheader.biSizeImage),SEEK_END);

然后重新编译生成可执行文件,注意不要在编译器中调试运行,这样做可能会黑屏,应该将生成好的exe文件从Debug文件夹拷贝到源文件及资源所在的文件夹后运行。以下是运行效果图:

  3D游戏编程大师技巧──2D引擎的编译问题

  我弄好的一个工程,有兴趣可以下载来看看。http://pan.baidu.com/s/1gdBUzlx