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

    打开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里的内容大概就是这么多,后面挨个具体说这些文件。




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基本功能和翎风的一样。 ------------------------------------------------------------------ [2016.09.30] 更新M2功能 ------------------------------------------------------------------ 1.增加脚本命令:InSafeZone //检测人物是否在安全区 ------------------------------------------------------------------ 2.修改程序防止最新僵尸攻击 3.增加脚本命令:SETRANDOMNO //产生一个随机数字 [@main] #IF #ACT SETRANDOMNO //产生一个随机数字 #SAY : //将显示出产生的随机数 [@@CHECKNO] #IF CHECKRANDOMNO //检测输入的验证码是否正确 #ELSEACT MESSAGEBOX 验证码错误! CLOSE BREAK 4.增加脚本命令:ISONMAP MAP //检测当前人是否在MAP地图上 5.增加脚本命令:DELAYCALL 作用:延时执行同一个NPC脚本中指定的标签内容 格式:DELAYCALL S LABEL 其中S是延时秒数(毫秒),Label是执行的脚本标签 示例:DelayCall 3000 @DELAYCALLTEST --- 3秒后自动跳到@DELAYCALLTEST节执行 6.增加脚本命令:KILLBYMON //是否被怪杀 7.增加脚本命令:KILLBYHUM //是否被人杀 地图增加一参数:KILLFUNC(X) //X可以随意数字 说明: 人物在该地图杀人,将触发QFunction-0.txt的[@KillPlay数字]节 人物在该地图杀怪,将触发QFunction-0.txt的[@KillPlayMon数字]节 注:宝宝杀人杀怪有效(秒杀除外) 8. //杀人的怪物名字 9. //杀人的人物名字 #IF KILLBYMON SENDMSG 5 在:%m(%x:%y)把干掉了! #IF KILLBYHUM SENDMSG 5 在:%m(%x:%y)把干掉了! 10.增加人物S变量:(0~99个) 11.解决地图标记 NoHUMNoMon 有人刷怪不能用的问题! 12.增加NPC命令:REPAIRALL //特修身上所有装备 13.增加数据库(修复神水)设置:3 14 //特修身上所有装备 14.增加脚本命令:ISGROUPMASTER //检测是否组长,加入编组后组长会触发QFunction-0.txt 15.增加挂机泡点功能。 ===================================== OFFLINE S EXP S是时间,单位秒 EXP为每S秒得到的经验值 默认必须在安全区域有效 脚本示意: (******************************************************************) (@@offlinemsg) [@main] 一、点击开始脱机泡点后,可输入一段留言信息给你的朋友。\ \ \ \ [@@offlinemsg] #IF CHECKLEVEL > 0 #ACT OFFLINE 5 500 //每5秒增加500经验 --------------------------------------------------------------------------- 16.;检测是否组长 [@MAIN] #IF ISGROUPMASTER #ACT GroupMoveMap 3 330 330 #elsesay 你不是组长. 加入编组后组长会触发QFunction-0.txt [@GroupCreate] #if #say 加入编组 --------------------------------------------------------------------------- 17.增加脱机泡点功能 18.增加地图标记有人刷怪 [0 比奇] NoHUMNoMon ;有人才开始刷怪 19.增加地图标记禁止仍背包物品 [1 沃玛森林] NOTHROWITEM ;禁止仍背包物品 20.增加地图标记死后不爆背包物品 [2 毒蛇山谷] NODR

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值