你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
用VB编写DirectX7.0游戏(1)
 
DirectX7.0终于出现了,同前面DirectX6相同,版本7也带了一个庞大(129M)的SDK开发库,同DirectX6 SDK库相比,DirectX7的SDK库提供了以下新的功能:
  * 对于Visual Basic的支持。用户可以使用类库在Visual Basic环境下开发基于DirectX的程序。
  * 提供更多DirectX3D立即模式(Immediate Mode)下的API函数,以支持DirectX7中新的3D特效,包括立体环境映射、顶点混合等。
  * DirectMusic支持DownLoadable Sound Level 2标准。
  * DirectInput支持8按键的游戏杆设备,同时支持Microsoft的力反馈摇杆。SDK库提供了读取力反馈效果文件的方法。同时提供了Force Editor程序来建立效果。
  对于VB爱好者来说,新的SDK库终于提供了完整的对VB的支持,现在终于可以使用Visual Basic来编写DirectX的程序了。
  一、DirectX SDK库的安装
  微软提供的SDK库是一个“重”达129M的dx7sdk.exe自解压缩文件,你可以上网下载或者从配套光盘上获得这个文件。双击文件就会弹出Winzip自解压缩对话框。在弹出的WinZip Self-Extract DK7SDK.EXE窗口中输入解压缩文件的路径,然后点击“Unzip”按钮解压缩SDK文件:
  要注意的是,dx7sdk.exe解压缩之后的体积有220M,硬盘比较紧张的读者在解压缩之前首先看看你的硬盘的容量是否足够。
  解压缩完毕之后,进入解压缩的目录中,双击Setup.exe文件就可以安装DirectX7.0 SDK文件了。安装是采用标准的InstallShield界面,玩Windows的读者应该对这种安装界面驾轻就熟,只要跟着安装提示一步一步地走就可以了。安装完毕之后,安装程序会在开始菜单中添加一个Microsoft DirectX 7 SDK的菜单,其中包括DirectX 7设置工具、VB范例和SDK Help等菜单项。
  现在开始进入VB,开始我们的DirectX的VB编程。在这里我们使用的是VB6企业版(英文)。Windows98中文版。
  打开VB,点击菜单中的 Project | References 项,在Object Library 列表中会有一项:DirectX 7.0 For Visual Basic Type Library 列表项,这个就是DirectX7.0 VB类库,选中该项,再选“ok”按钮,就可以将库加入工程文件中。
  二、DirectX编程初步
  1 DirectX7对象
  DirectX7对象是DirectX VB对象中其他所有对象的服务和起始对象,这个对象包含了建立诸如DirectDraw、 Direct3D、 DirectSound、 DirectInput等对象的方法。同时该对象还包含了一系列的三维控件顶点和距阵的操作函数以及一些DirectX系统函数。在VB中可以通过Dim...New来直接定义和初始化一个DirectX7对象,例如:
   Dim DirectX As New DirectX7
  当建立成功一个DirectX7对象之后,就可以使用该对象的DirectDrawCreate、Direct3DRMCreate等方法建立DirectDraw、Direct3D对象了。
  DirectX7对象范例1:获得系统中的DirectDraw和DirectSound驱动
  建立一个新的工程文件,点击菜单中的 Project | References 项,在Object Library 列表中选中DirectX 7.0 For Visual Basic Type Library 项后按确定按钮(以下的程序都需要这个步骤,后面将不再做说明)。然后在Form1中加入一个ListBox控件和四个CommandButton控件,在Form1的代码窗口中加入以下代码:
  Option Explicit
  
  Dim DirectX As New DirectX7
  Dim DDEnum As DirectDrawEnum
  Dim DDSound As DirectSoundEnum
  
  Private Sub Command1_Click()
   Dim Count, i As Integer
   
   Set DDEnum = DirectX.GetDDEnum
   Count = DDEnum.GetCount
   List1.Clear
   For i = 1 To Count
   List1.AddItem DDEnum.GetDescription(i)
   Next i
   
   Set DDEnum = Nothing
  End Sub
  
  Private Sub Command2_Click()
   Dim Count, i As Integer
   
   Set DDEnum = DirectX.GetDDEnum
   Count = DDEnum.GetCount
   List1.Clear
   For i = 1 To Count
   List1.AddItem DDEnum.GetName(i)
   Next i
   Set DDEnum = Nothing
  End Sub
  
  Private Sub Command3_Click()
   Dim Count, i As Integer
   
   Set DDSound = DirectX.GetDSEnum
   Count = DDSound.GetCount
   List1.Clear
   For i = 1 To Count
   List1.AddItem DDSound.GetDescription(i)
   Next i
  End Sub
  
  Private Sub Command4_Click()
   Dim Count, i As Integer
   
   Set DDSound = DirectX.GetDSEnum
   Count = DDSound.GetCount
   List1.Clear
   For i = 1 To Count
   List1.AddItem DDSound.GetName(i)
   Next i
  End Sub
 (编辑:anna sui)
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089