游戏开发是许多程序员的梦想,看着游戏中那华丽的画面。有多少人会感叹,如果自己能做就好了。
然而开发游戏需要对DirectX的调用,原来除了C++没有其他语言可以胜任这份工作,虽然DirectX7.0SDK加入了对VB的支持,但是VB毕竟能力有限,无法胜任这份严峻的工作,游戏可以说是最吃资源的程序,VB的速度无法完成。即使做出个游戏也被人说做不入流。这样一来VB程序员无法实现自己的梦想了。
.net推出了,VB.net的性能已经可以和VC++媲美,用微软的说法内核是一样的,只不过是语法的差异。VB程序员大喜,这样再也不会被C++程序员说成是傻瓜程序员了,你们能做的我们一样可以。
好了现在切入正题,现在我们来做一个简单的游戏。
首先先要对游戏有个整体构架才行,VB.net中对类的设定比较可爱,功能也非常强大,不用一用起不太对不起微软了。
调用DirectX,首先先要安装DirectX7.0以上版本的SDK开发包,然后新建一个项目,选择Windwos应用程序。
然后选择引用DirectX方法是,选择引用->COM->DirectX7 for VisualBasic Type Library
好了,至此你已经引用了DirectX7.0
首先为了方便使用我们调用DirectX7.0,所以我们声明
| Imports DxVBLib |
然后我们定义一个DirectX7.0的对象
| Public DirectX As New DirectX7 |
声明一个DirectDraw对象,用于2D游戏的绘图
| Public DDraw As DirectDraw7 DDraw = DirectX.DirectDrawCreate("") |
然后要设置DirectDraw的协作层
| Call DDraw.SetCooperativeLevel(Me.Handle.ToInt32, CONST_DDSCLFLAGS.DDSCL_FULLSCREEN Or CONST_DDSCLFLAGS.DDSCL_ALLOWMODEX Or CONST_DDSCLFLAGS.DDSCL_EXCLUSIVE) |
其中用到的常数有
| CONST_DDSCLFLAGS.DDSCL_FULLSCREEN表示全屏模式 CONST_DDSCLFLAGS.DDSCL_ALLOWMODEX表示允许使用ModeX CONST_DDSCLFLAGS.DDSCL_EXCLUSIVE表示独占模式 |
在DirectX的编程中会用到大量的常数,这里教你一个技巧,在使用的地方打空格,VB.net会列出可以使用的所有常数,非常好用。
然后设置DirectDraw得显示模式
| Call DDraw.SetDisplayMode(800, 600, 16, 0, CONST_DDSDMFLAGS.DDSDM_DEFAULT) |
800,600表示屏幕尺寸,16表示16位真彩
然后定义缓存用于存储图片
|
Dim ddsPrimary As DirectDrawSurface7 '设置主面 |
相关专题
- 游戏开发 (2176篇文章)
- 网络游戏攻略 (4407篇文章)
- .NET移动与嵌入式技术 (5968篇文章)
- .NET开发手册 (5669篇文章)
- .NET实用开发 (1685篇文章)
- 用vb.net实现闹钟提醒程序 (9次浏览)
- vb.net GDI+入门——画笔、画刷和颜色 (3次浏览)
- VB.Net实现进程监视器的方法 (1次浏览)
- VB2005中开发新一代控制台应用程序(3) (0次浏览)
- vb.net使用ListView 控件显示系统驱动器 (0次浏览)
- vb.net入门——ListView 控件的使用 (0次浏览)
- vb.net GDI+入门——使用Graphics对象填充图形 (0次浏览)
- .Net中ListView控件多选时复选框自动选择问题 (0次浏览)
- vb.net GDI+入门——使用Graphics对象绘制线图 (0次浏览)
- vb.net GDI+入门——了解Font类 (0次浏览)



