本教程并不是零基础教程,适用于有VB语法基础但不需要游戏开发基础的读者。
工欲善其事必先利其器,我们开发一款游戏也得先准备好要用的第三方库。这一系列的教程都将会用VB6.0+impactX进行开发。虽然用windows的GDI也完全可以胜任2d游戏开发,但是impact的封装程度更高,执行效率也比GDI高。下面,我们来看看impact的官方简介:
这是impact源码的下载地址:impact下载地址
下载之后我们可以看到目录结构是这样的:
现在,我们来创建一个HelloWorld工程:
第一步,创建一个VB6工程
第二步,在工程-->引用中勾选DirectX 8 for Visual Basic Type Library和ActiveMovie control type library
第三步,添加游戏引擎的模块和类模块(在源码文件夹的impact Engine Files中)
第四步,在工具-->选项-->环境-->启动程序时:保存改变。由于impact在vb的ide下不太稳定,程序运行期间ide很容易崩溃,如果代码没有保存就悲剧了。所以选择【保存改变】就再也不怕ide崩溃导致代码丢失啦。
OK,现在来写我们第一个impact程序:
Option Explicit
Private Sub Form_Load()
'设置窗口大小为800*16(这里乘以15是因为vb窗口默认以缇为单位,在标准dpi下1缇为15像素)
Me.Width = 800 * 15
Me.Height = 600 * 15
'以窗口模式创建一个800*600的渲染区域
InitDXGraph 800, 600, Me.hWnd, xgWindow
Me.Show
Dim t As Integer
'游戏主循环
Do
'防止线程卡死
DoEvents
'把整个窗口填充为黑色
PaintScreen 0
'开始渲染(它和RenderEnd是一对好基友)
RenderBegin
'在200,200的位置画一个半径为50的白色圆
DrawCircle 200, 200, 50, xgWHITE
RenderEnd
Loop
End Sub
Private Sub Form_Unload(Cancel As Integer)
UnloadDXGraph
End
End Sub
运行结果: