|
|
这是我自己开发的2D图形引擎,用的DX9,虽然还比较简陋,不过基本功能还是有的,
用于开发一般游戏足够了,这是我的一套引擎中的一个,这套引擎还包括声音引擎和文
件读取引擎(其实是打包和解包引擎,我自己写的格式)还有工具若干,不过先发图形
引擎,以后再发剩下的~
首先声明一下,我发表这个引擎并不是想跟大家比技术,只是想给大家提供点方便和给
新手一点思路,如果大家觉得我的引擎差也请不要骂,谢谢~
下面先给大家看看效果,这是我自己做的一个仿制的石器时代的客户端,窗口模式下有
200FPS+,全屏下500FPS+,空跑有1000FPS+。

开发环境要求:
1、DX9 SDK
2、.net环境(vb.net/c#)
下面是个简单的教程:
1、创建一个新的窗口工程
2、添加引用,选择本引擎
3、加入下面代码:
Private TextP(0) As GEngine.GEngine.StrC
'TextP()变量表示图形引擎画的文字,不管需不需要文字都必须申明
Private GamePath As String = System.IO.Path.GetDirectoryName
(Application.ExecutablePath) & "\"
'表示程序启动路径,为了以后方便
Private GEngine As GEngine.GEngine
'申明本引擎
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
GEngine = New GEngine.GEngine(Me, 800, 600, 60, 16, GamePath) '表示
在程序窗口上画图,全屏,分辨率800*600,刷新率60,16位颜色,窗口模式请参考我网
站上的说明文档,地址在下面
Render = True '告诉程序要画图
GEngine.CreateNewBuffer("c:\ff.bmp", 800, 600, 0, 0, True, True)
'创建图象缓存区,读取c:\ff.bmp到缓存区,定义大小为800*600,位置在(0
,0),第一个True表示要画这个缓存区,False则不画,第二个表示这个图中的纯黑色
为透明色,False则不透明,这个函数返回值为所创建的缓存区的索引值
ReDim TextP(1)
With TextP(0)
.Color = System.Drawing.Color.Yellow
.str = "Hello World!我的第一个DirectDraw9程序!"
.X = 10
.Y = 10
.Gueltig = True
End With
With TextP(1)
.Color = System.Drawing.Color.Red
.str = "测试文本"
.X = 10
.Y = 50
.Gueltig = True
End With
GEngine.PrintStr(TextP) '传递给引擎要在屏幕上显示的文字,就算不输出
文字也必须存在,否则出错
Me.Show()
Mainloop()
End Sub
Private Sub MainLoop() '这个过程叫做主循环,因为DirectX需要不停的在屏幕上刷
新图象,所以必须用循环
Do '主循环
GEngine.Render() '这个是引擎的渲染函数,用来在屏幕上画图
Application.DoEvents() '这个函数的作用是叫程序处理其他事件,如果
没这个程序就会出现假死状态,也就是没有反应
Loop
End Sub
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As
System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
'在退出程序时应该释放所占用的内存,下面是标准格式
GEngine.DisposeAllBuffer()
GEngine.DisposeDD()
End Sub
这样,一个最简单的DX程序就完成了,看截图吧(由于没有做按键判断,所以只有用
alt+f4关闭程序,请大家在测试的时候注意了):

我的c:\ff.bmp就是这副被我改过数据文件的大海战客户端的截图。
只要自己再添加其他的createnewbuffer函数就可以随意添加图形缓存,最后添加的缓
存区将在最上面。当然我的引擎肯定才不只这点功能,他可以更改图形缓存的位图、位
置和渲染区域,输出文字(个人认为效果不错哦)等等功能,具体的内容请看我网站上
的说明文档,我在这里只是抛块烂砖头。我还写了一些配合我引擎使用的工具过程和函
数,包括如何用我的引擎实现动画等,如果大家反映好的话我就继续发布
引擎下载
我一样推崇开源,原码和说明文档请到我的网站下载:
http://www.liiir1985.de |
|