- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MF的C构造DirectX应用框架
用 MFC 构造 DirectX 应用框架
摘要:把 DirectX SDK 封装在 MFC 的类中,建立一个 DirectX 应用程序框架。
关键词:MFC 类库 DirectX SDK
一、MFC 类库与 DirectX SDK
Microsoft DirectX SDK 是开发基于 Windows 平台游戏的一个软件开发工
具,其
主要功能主要包括在五个组件中:DirectDraw、DirectSound、DirectPlay、
Direct3D 和 DirectInput,每个组件都具不同的功能:
l DirectDraw 使用直接写存技术加快游戏的动画速度;
l DirectSound 控制游戏声音的合成和播放;
l DirectPlay 使游戏具有网络多人游戏功能;
l Direct3D 让程序员更方便地开发三维游戏;
l DirectInput 使游戏支持更多的输入设备 (现在只支持游戏杆、鼠标
和键盘)。
可以说 DirectX SDK 提供了编写一个游戏所必须的功能及基层函数,所以
大多
Windows 游戏都使用了 DirectX SDK。
MFC(Microsoft Foundation Class)类库是 Microsoft Visual C++中提供
的一个
功能强大的 Windows 应用程序开发类,使用这些类我们可以避免和繁琐的
Windows API
打交道,而且在Visual C++中我们还可以利用ClassWizard对MFC 类进行Windows
消息映
射,所以如果能用 MFC 类库来开发 DirectX SDK 的应用程序,至少有以下几个好处:
1. 可以用 VC++的ClassWizard 方便地对 Window 消息进行映射;
2. 增加了程序的可读性,并且可以用 VC++的ClassView 方便的管理所
用的类;
3. 增加程序代码的可重用性,可以在原有的基础上开发出功能更强大
的应用程序;
更进一步,如果我们能开发出一个能生成DirectX SDK 应用程序基本框架的
VC++的工程向导,则为以后开发 DirectX SDK 应用程序提供及大的方便。下面,
我们将
用 Visual C++5.0 先编写一个 DirectX SDK 应用程序的基本框架。
二、编写 DirectX SDK 应用程序基本框架
我们按下列步骤建立一个 DirectX SDK 程序的基本框架:
1. 用 Visual C++的MFC AppWizard(EXE)生成一个基于对话框的工程文
件,
取名为 DirectX,在向导第二步时取消 About Box 的复选框,然后按 Finish 按
钮。
2. 删除在 DirectX 工程目录中生成的 DirectXDlg.CPP 和
DirectXDlg.H 两个文
件,并在 Visual C++的FileView 中删除以上两个文件,按 CTRL+W 启动
ClassWizard 删
除 CDirectXDlg 类,然后在 ResourceView 中删除 IDD_DIRECTX_DIALOG。
3. 建立两个文件 DirectXWnd.CPP 和 DirectXWnd.H (这两个文件在本
文的附
录中,请注意不要删除有 “\\{”和 “\\}”之间的内容,否则将不能使用
ClassWizard 对窗口消息进行映射),并把它们加入到工程中。这时工程中将增
加一
个基于 CWnd 的CDirectXWnd 类,这是我们的 DirectX 应用程序的基类。
CDirectXWnd 类
创建一个窗口并生成一个与该窗口相关联的 DirectDraw 对象 lpDD,同时还生成
一个显
示平面 (lpFrontBuffer)和一个显示缓冲平面 (lpBackBuffer),该类使用了
几个
虚函数,必要时其派生类可以覆盖这些函数。
4. 打开 DirectX.CPP,把#include “DirectXDlg.h”改为#include “
D
文档评论(0)