文档详情

DirectX入门介绍ddraw介绍 2.doc

发布:2018-08-08约7.82千字共7页下载文档
文本预览下载声明
DirectX入门介绍ddraw介绍 2 DirectX入门介绍ddraw介绍(2)2010-06-01 15:05☆设置用DirectX创建程序,你需要有三件主要的事要做。第一件事是COM对象本身,它们包含在.DLL文件里,这些.DLL文件需要在Windows里注册,这在安装DirectX软件包时已经完成了。这些对象是我们创建DirectX应用程序时用到的接口,例如IdirectDraw。但这还不够,因为在COM层上直接使用DirectX是令人沮丧的和乏味的。我们希望有更容易的办法解决它。利用静态库(.LIB文件)是个好办法,它是DirectX软件包的一部分,你可以从Microsoft免费获得。它有一个打包函数使你工作更轻松。使用DirectX的不同组件,你需要链接不同的静态库。例如你要使用DirectDraw组件,你就需要ddraw.lib。最后,你还需要DrectX头文件,它包含函数原形、宏、常量和你需要用到的各种类型。对于DirectDraw,这个头文件是ddraw.h。要确认你使用了正确的文件版本,你还得让编译器包含软件开发包的目录。具体的做法是:首先点击Tool菜单,选择Options,然后点击Directories,在Show Directories for组合框下拉菜单中选择Include files,增加一个新的目录。将你的DirectX的路径填入。(例如:C:DXSDKinclude)然后将它移到列表的第一位,使编译时第一个寻找它(防止寻找老版本)。然后选择Show Directories for组合框下拉菜单中的Library files,方法同前,只是把include改成lib。现在,你已经设置完了DirectX。你仍然需要手动增加一些库文件到你的项目中,但先不急,我将在以后讲它。我们将使用DirectX 7.0。☆DirectX版本号你可能认为版本号没有什么好讲的,但我们确实要说一说。Microsoft在DirectX里创建了令人难以置信的科技,但它并不代表不使人迷惑。对于每一个DirectX版本,并不是所有的接口都一次次的升级。因此,尽管DirectX有了7个版本(我写文章时DirectX8.0正准备发布),但DirectDraw并没有7个版本。当DirectX6是最新版本时,DirectDraw的最新接口版本是IDirectDraw4,不是IDirectDraw6。现在最新的版本是DirectX7,所以我们要用IDrectDraw7。很奇怪,是不是?我想你已经明白了我的意思,请不用因为以后看到的感到困惑了。最后一件事。当我写这篇文章时,DirectX7是最新的可用版本,但或许现在你已经有了DirectX8,并且或许你还听说了,DirectDraw将不再升级了,取代它的是DirectX Graphics,这是一个功能强大的图形API。但DirectDraw不升级就意味着我们不学习它了,毕竟都离不开COM。如果你想用DirectX8的接口写2D的游戏,你需要用3D方法去创建2D观点。听起来很棒,是的,的确如此,因为使用3D接口将给你更多的硬件支持,例如阿尔发混合。但这也恰恰是个问题,如果机器没有相应的硬件设备,程序会以更慢的速度运行。DirectDraw是很容易学的。由于DirectX中的3D图形是基于DirectDraw的,3D应用程序在DirectDraw环境中执行;极少有应用程序专门使用3D。大多数程序使用3D函数对一些对象建模,而另一些对象,诸如背景和精灵,是以2D图形渲染的。所以本系列将使用DirectDraw。关于DirectX8,我还没有太多的了解,因此我只能对DirecX7做详细介绍。总的来说,你使用DirectX,还是离不开DirectDraw的。 ☆DirectDraw概述在你的程序中使用DirectDraw,你至少要做四件事,它们是:1、建立一个DirectDraw对象。2、设置协作等级。3、设置显示模式和色彩深度(全屏模式)。4、至少创建一个DirectDraw表面。在讲怎样完成以上步骤之前,先让我们了解一下每一步的含义。第一个,要创建一个DirectDraw对象,这意味着我们要建立一个指向IDirectDraw7接口的指针。这很简单,不是吗?有三种办法可以实现它,你可以直接使用COM,或使用DirectDraw的两个函数之一。三种办法各有千秋,我们过一会儿将详细介绍。第二个,设置操作等级。这可能对你来说比较新鲜。协作是由于Windows是一个多任务操作系统而产生的概念。意思是所有运行的程序都要随时告知Windows它们将要或正在使用的资源,这将保证你所要使用的资源不会被windows再分配给别的应用程序。不用担心,有一个很简单的函数完成它。第三个你是否有点熟悉?如果你要写一
显示全部
相似文档