打印本文 打印本文 关闭窗口 关闭窗口
用VB.NET实现你的游戏梦想
作者:武汉SEO闵涛  文章来源:敏韬网  点击数733  更新时间:2009/4/23 15:02:19  文章录入:mintao  责任编辑:mintao
  游戏开发是许多程序员的梦想,看着游戏中那华丽的画面。有多少人会感叹,如果自己能做就好了。 

  然而开发游戏需要对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会列出可以使用的所有常数,非常好用。

打印本文 打印本文 关闭窗口 关闭窗口