您的位置:首页 > 其它

[HGE]-源码分析-3 Core部分

2013-10-24 16:03 183 查看
    打开src文件夹,就看到里面有好多其他的文件夹=。=它们是干什么用的呢?他们当然是放文件用的。。。

    ok,src下一共有7个文件夹,和葫芦娃的规模一样。



其中有5个都是HGE的小工具,既然提到了就随便说说这几个小工具。

这5个小工具在src同级目录的tools里有成品,放在3个文件夹里。

fonted文件夹下是fontconv.exe和fonted.exe分别和源码里的对应,fontconv是命令行工具,用来把老的HGE的字体转成新的

fonted有可视化界面,可以用来编辑自己想要的字体,然后用在游戏里,具体用法文档有。

particleed里是粒子系统编辑器

pngopt和texasm放在tools的textools文件夹下,都是命令行工具,pngopt是调整PNG图片的

texasm是一个处理你的图像文件夹或资源脚本并根据相关资源通过精灵创建优化的纹理块的工具(文档里的)

所有这些工具用法在文档里都有,基本都是用来管理资源,有兴趣可以看看实现。

刨去了这些工具,我们的源码就孤零零的剩下了两个文件夹core和helpers,他们构成了HGE代码部分。
helpers里的东西基本都是对core函数的调用。

打开core  里面有很多源文件,还有两个文件夹



BASS是一个声音处理库,作者可能很喜欢摇滚=。=(贝斯。。)
ZLIB是一个压缩资源的库,用来在游戏运行的时候解包打包之类的,HGE的资源都是打成zip包的
对了还有个资源管理的tool,就是pkzip
系统自带。。。

ZLIB和BASS也是开源的,BASS库在各种平台都有,天下开源是一家,开源万岁!

我们关注的东西就很明了了,剩下的部分



里面有个很陌生的文件  hge.def,查了下这个是模块定义文件,为链接器程序提供有关被链接程序的导出和属性还有其他的一些信息,
我们的这个core里的代码以后是要生成一个dll的,在所有HGE项目里都要把这个dll放进去,这个.def就是和生成dll的时候起作用。
具体用法见度娘谷姐。

所有方法的声明在hge_impl.h这个头文件里
剩下的就好说了,看名字就知道是干什么的。
demo是每个HGE程序一进去的那个开场画面(可以在winmain里的那些Set里面设置不显示)
graphics基本图形,裁剪,纹理相关,
ini脚本的读取
input所有的按键输入,鼠标响应,鼠标位置,滚轮,所有输入事件由一个队列管理
power根据判断给电源参数设定状态,一个是连通,一个是无供电
random产生随机数
resource资源管理相关,这部分很有意思,可以资源包可以加密
sound 声音相关,调bass库实现
system系统控制,就是HGE项目里写在WinMain里的那些,有基本的init,start,release等等,还有些系统日志管理和错误处理
timer定时器

对于core里的内容大概就是这么多,后面挨个具体说这些文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图形 游戏 源码