VB+DX游戏编程教程第一话初识DX.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VBDX游戏编程教程第一话初识DX

本博客所有内容均来源于 句幽博客:/post/17 ? ? 。 今天为大家要讲的是VB与DirectX相结合的游戏编程,说是教程也过于夸张了,也算是本人在学习过程中的一些学校笔记和心得吧。当然 技术有限,还请大家多多包涵。 首先有人会问,为何会选择VB。好像现在许许多多的游戏都是C++编的。当然,对于专业的游戏制作来说,用C++或JAVA等语言确实是不二之选,但我们想个人开发一般的游戏来说,VB是上手很快的语言。不用可以的去理解类或者是继承和多态等等(虽然这也是VB的弱点)。我们这里选择的是VB6.0,虽然是一款年代有点久远的版本,但这丝毫不会影响我们走上游戏编程道路,同时它也是让我们以后学习其他语言的跳板。对于DirectX来说,我们选择VB所支持的DirectX8.1。虽然现在DX也更新到了11,学习太久之前的版本对我们来说并非好事。但你得相信一句话 :“DX成熟与DX8,辉煌于DX9.” 所以我们拿最经典的版本来做初步学习,在理解透彻后也可以很容易的转到更高的版本,进行更高层次的学习。 要学习本课程你先得有一定的VB编程基础。如果没有的话,你可以在网上或者购买一本VB的初级教程来看看。能够明白基本语法就好。 我想的是:每讲一个内容我都会配上一个案例源码。也更好的方便大家以及我自己及时理解这一部分知识。那好吧,废话不多说了。开始我们真正的DX之旅。 首先得知道我们游戏的画面都是一帧一帧的渲染出来的。而每一个画面都是由三角形(DX的基本单位为三角形),纹理,材质,和贴图等所契合而成。而DX所做的工作,就是去创造和调用这一切。最终渲染出在屏幕上我们看到的画面。VB要调用DX,首先得引用DX的链接库。在VB的界面点击工程-引用中选择DirectX8 for Visul Basic. 如果没有这个插件,可以在本页面最下面的附件下载。然后放在系统的system32文件夹中。在用VB 引用。 判断引用成功与否你可以在VB代码编辑窗口输入 dim dx as Dire ? 看后面有没有提示DirectX8一系列东西。 然后我们开始学会初始化DX。先来看看我们是怎么定义的变量: Dim IDX As New DirectX8 Dim IDX3Device As Direct3DDevice8 Dim IDX3D As Direct3D8 一共定义了三个。这些是什么意思呢。先来看第一个,我们给了一个NEW的标志,意思就是说我们直接开始就实例化DirectX8这个类。因为DirectX8是一个总的根,所有的操作都是在它的下面进行的。所以在VB里面我们直接就现将他实例化了。而Direct3D8 好 Direct3DDevice8又是个什么东西呢? ? Direct3D8也就是我们平时所说的D3D,3D的编程接口。3D的一些绘图就要在这个接口中创建。然后Direct3DDevice是D3D创建的设备接头。然后用它里面的方法我们就可以初始化显示接口了。我们已一幅图来表示这三者的关系: INCLUDEPICTURE \d /psb?/V11y19FY4YUldB/Uigbe2NUV*VuCQhFwx3plD9QVGrMmubZB5UXHYE8fus!/b/dIYBAAAAAAAAbo=BwIaAQAAAAAFBzo!rf=viewer_4 \* MERGEFORMATINET  从中我们可以很清楚的看到 顺序依次是 DirectX8 - Direct3D - Direct3Ddevic? 当然其中还包括了其他的东西。我们在以后会用到。 理解了他们的顺序之后我们就可以开始创建一个D3device设备了。 ?Set IDX3D = IDX.Direct3DCreate ? ?由Dx根创建D3D。 然后是创建Direct3DDevic设备。函数原型: IDX3D.CreateDevice adapter, DeviceType, hWnd, CONST_D3DCREATEFLAGS, D3DPRESENT_PARAMETERS 参数我依依说明一下,因为这个是最基础的。必须每个都要明白。 首先adapter:适配器 ,我们一般都选填D3DADAPTER_DEFAULT DeviceType : 类型,D3DDEVTYPE_HAL(硬件抽象层,也是一般选择),D3DDEVTYPE_REF(参考设备层) hwnd : 这个不用说了。窗体的hwnd,这里我们就一个窗口,可以直接用me.hwnd flag :?D3DCREATEFLAGS类型的参数,我们一般选择D3DCREATE_SOFTWARE_VERTEXPROCESSING D3DPRESENT_PARAMETERS:最后一个,也是最重要的一个。他包含很多参数,现在我们来重点解释它 ?D3DPRE

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档