电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 冲浪宝典-> 上传下载
用vb编写directx7.0游戏(上)_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
DirectX7.0终于出现了,同前面DirectX6相同,版本7也带了一个庞大(129M)的SDK开发库,同DirectX6SDK库相比,DirectX7的SDK库提供了以下新的功能:
*对于VisualBasic的支持。用户可以使用类库在VisualBasic环境下开发基于DirectX的程序。
*提供更多DirectX3D立即模式(ImmediateMode)下的API函数,以支持DirectX7中新的3D特效,包括立体环境映射、顶点混合等。
*DirectMusic支持DownLoadableSoundLevel2标准。
*DirectInput支持8按键的游戏杆设备,同时支持Microsoft的力反馈摇杆。SDK库提供了读取力反馈效果文件的方法。同时提供了ForceEditor程序来建立效果。
对于VB爱好者来说,新的SDK库终于提供了完整的对VB的支持,现在终于可以使用VisualBasic来编写DirectX的程序了。
一、DirectXSDK库的安装
微软提供的SDK库是一个“重”达129M的dx7sdk.exe自解压缩文件,你可以上网下载或者从配套光盘上获得这个文件。双击文件就会弹出Winzip自解压缩对话框。在弹出的WinZipSelf-ExtractDK7SDK.EXE窗口中输入解压缩文件的路径,然后点击“Unzip”按钮解压缩SDK文件:
要注意的是,dx7sdk.exe解压缩之后的体积有220M,硬盘比较紧张的读者在解压缩之前首先看看你的硬盘的容量是否足够。
解压缩完毕之后,进入解压缩的目录中,双击Setup.exe文件就可以安装DirectX7.0SDK文件了。安装是采用标准的InstallShield界面,玩Windows的读者应该对这种安装界面驾轻就熟,只要跟着安装提示一步一步地走就可以了。安装完毕之后,安装程序会在开始菜单中添加一个MicrosoftDirectX7SDK的菜单,其中包括DirectX7设置工具、VB范例和SDKHelp等菜单项。
现在开始进入VB,开始我们的DirectX的VB编程。在这里我们使用的是VB6企业版(英文)。Windows98中文版。
打开VB,点击菜单中的Project|References项,在ObjectLibrary列表中会有一项:DirectX7.0ForVisualBasicTypeLibrary列表项,这个就是DirectX7.0VB类库,选中该项,再选“ok”按钮,就可以将库加入工程文件中。
二、DirectX编程初步
1DirectX7对象
DirectX7对象是DirectXVB对象中其他所有对象的服务和起始对象,这个对象包含了建立诸如DirectDraw、Direct3D、DirectSound、DirectInput等对象的方法。同时该对象还包含了一系列的三维控件顶点和距阵的操作函数以及一些DirectX系统函数。在VB中可以通过Dim...New来直接定义和初始化一个DirectX7对象,例如:
DimDirectXAsNewDirectX7
当建立成功一个DirectX7对象之后,就可以使用该对象的DirectDrawCreate、Direct3DRMCreate等方法建立DirectDraw、Direct3D对象了。
DirectX7对象范例1:获得系统中的DirectDraw和DirectSound驱动
建立一个新的工程文件,点击菜单中的Project|References项,在ObjectLibrary列表中选中DirectX7.0ForVisualBasicTypeLibrary项后按确定按钮(以下的程序都需要这个步骤,后面将不再做说明)。然后在Form1中加入一个ListBox控件和四个CommandButton控件,在Form1的代码窗口中加入以下代码:
OptionExplicit
DimDirectXAsNewDirectX7
DimDDEnumAsDirectDrawEnum
DimDDSoundAsDirectSoundEnum

PrivateSubCommand1_Click()
DimCount,iAsInteger
SetDDEnum=DirectX.GetDDEnum
Count=DDEnum.GetCount
List1.Clear
Fori=1ToCount
List1.AddItemDDEnum.GetDescription(i)
Nexti
SetDDEnum=Nothing
EndSub

PrivateSubCommand2_Click()
DimCount,iAsInteger
SetDDEnum=DirectX.GetDDEnum
Count=DDEnum.GetCount
List1.Clear
Fori=1ToCount
List1.AddItemDDEnum.GetName(i)
Nexti
SetDDEnum=Nothing
EndSub

PrivateSubCommand3_Click()
DimCount,iAsInteger
SetDDSound=DirectX.GetDSEnum
Count=DDSound.GetCount
List1.Clear
Fori=1ToCount
List1.AddItemDDSound.GetDescription(i)
Nexti
EndSub

PrivateSubCommand4_Click()
DimCount,iAsInteger
SetDDSound=DirectX.GetDSEnum
Count=DDSound.GetCount
List1.Clear
Fori=1ToCount
List1.AddItemDDSound.GetName(i)
Nexti
EndSub

PrivateSubForm_Load()
Command1.Caption=“DirectDraw驱动描述”
Command2.Caption=“DirectDraw驱动名称”
Command3.Caption=“DirectSound驱动描述”
Command4.Caption=“DirectSound驱动名称”
EndSub

PrivateSubForm_Unload(CancelAsInteger)
SetDirectX=Nothing
EndSub
运行程序,分别点击不同的按钮,在列表框中就会出现相应的设备驱动名和描述。
2DirectDraw7对象
DirectDraw是一个与Windows图形系统接口(GDI)相兼容的直接操作显示设备的软件接口。DirectDraw提供与硬件无关性的同时允许直接操作显存。程序只要使用一些基本的标准硬件约定,如:RGB及YUV色彩格式及解析度。你无须调用特殊的过程来使用显存块移动(Blitter)及调色板。使用DirectDraw,你可简单操作显存,完全使用各种硬件特性而不必理会各种不同硬件之间的差异。
2.1建立DirectDraw对象
DirectDraw7对象是DirectX7中的DirectDraw对象,你需要首先建立一个DirectX7对象,然后使用该对象的DirectDrawCreate方法来建立DirectDraw7对象。例如:
DimDXAsNewDirectX7
DimDDrawAsDirectDraw7
SetDDraw=DX.DirectDrawCreate(“”)
2.2建立协作层
当建立了一个DirectDraw对象之后,首先要设定DirectDraw的协作层。实现的方法是调用DirectDraw对象的SetCooperativeLevel函数。该函数的定义是:
object.SetCooperativeLevel(hdlAsLong,flagsAsCONST_DDSCLFLAGS)
其中参数hdl指定程序的窗口句柄,参数flag决定程序运行的方式,函数调用
DDraw.SetCooperativeLevelMe.hWnd,DDSCL_NORMAL
将使程序运行于普通的协作层即窗口模式之下。在这种协作层你无法改变主平面调色板或进行页交换,因为程序可以使用多窗口。而函数调用
DDraw.SetCooperativeLevelMainForm.hWnd,DDSCL_EXCLUSIVEOr_
DDSCL_FULLSCREEN
将使程序运行于全屏幕模式之下。在全屏幕协作模式之下你可以完全使用硬件的一切。在这个模式之下,你可以设置使用定义及动态调色板,改变显示分辨率及进行页交换。->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·用photoshop教你打造神秘炫光黑洞_photoshop教程
·win xp中光纤拨号设置故障解决方法_windows xp
·用vb编写directx7.0游戏(上)_visualbasic教程
·处理加了admin888的mdb文件_visualbasic教程
·在vb中操纵ole服务器应用程序_visualbasic教程
·datagrid控件的使用四_visualbasic教程
·friend过程快于public过程_visualbasic教程
·在visualbasic中终止windows95_visualbasic教程
·vb6制作win98风格的工具栏_visualbasic教程
·photoshop魔术:暗藏彩色的黑白图片_photoshop教程

最新文章
·提升信息利用率的新模式——“近联网”
·应对BBS风暴 中小论坛的几条出路
·炒作大于应用 谁来给无限量邮箱降温
·我们离不开Alexa最根本的是它有公信力
·林思吾:做SEO的二十个要点
·photoshop教程-表面模糊滤镜快速去斑_photoshop教程
·用php实现动态产生xml文件以及从xml文件中抽取数据转化成html的小程序_php技巧
·让windows xp系统远离内存读写错误_windows xp
·用photoshop简单方法抠半透明图片_photoshop教程
·photoshop快速打造皱纸画面效果_photoshop教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号