用VB.NET實現你的游戲夢想
游戲開發是許多程序員的夢想,看著游戲中那華麗的畫面。有多少人會感嘆,如果自己能做就好了。
然而開發游戲需要對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會列出可以使用的所有常數,非常好用。