- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 DirectX8Dim IDX3Device As Direct3DDevice8Dim 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
您可能关注的文档
- erwin中英文切换.docx
- Excel中将文本转为数字的七个方法.doc
- CRM用户手册.doc
- excel中的数据导入oracle方法详解.docx
- Farpoint教程.doc
- FarpointSpreadForWindowsForms50使用指南中文.docx
- GIS教程复习.doc
- GRIR不能清账的问题及处理.doc
- HS-206清洗剂安全数据表.doc
- HTML5Canvas核心技术图形动画与游戏开发.docx
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
最近下载
- 精细化调试管理实施方案119..doc VIP
- 华南师范大学《Java语言程序设计》2022-2023学年第一学期期末试卷A卷.doc VIP
- 立式圆筒形钢制焊接储罐施工及验收规范》.pptx VIP
- 怀素草书千字文.doc精选.doc VIP
- 2025年大庆医学高等专科学校单招(语文)测试试卷.docx VIP
- 儿童小学生成长档案A4大小模板.docx VIP
- 服装店创业计划书.pdf VIP
- 年产6000吨猪肉脯加工车间设计.docx VIP
- 武汉大学 2011-2012 学年第二学期期末考试线性代数 B 试题(A) .docx VIP
- 2025年建筑工程检验批质量验收记录全套表格.docx VIP
原创力文档


文档评论(0)