【HGE引擎】源码解析——常用公共函数(二)

一 开篇介绍

    现在开始解读HGE接口类(Interface class)的一些公共函数 
    正如在上一篇文章中提到的,使用的公共函数调用方式都是CALL(不记得可以翻看),纯虚虚函数基本都是由hge_impl.h继承的,部分内联函数是hge.h自身实现的,比如说System_SetState相关重载函数,其他的实现的都在子类的cpp中实现,其中有人也许会有疑问: 为啥在hge中会有私有的纯虚函数?其实私有和公共关系并不大,virtual机制是dynamic的,发生在运行时,访问权限是静态的(static),程序编译的时候作用,两者的关系影响并没多少,如果没有特殊的使用,父类和子类的访问权限可以交换使用。

二 函数解读

    2.1  系统函数 

1

                   系统函数 都是使用System_ 开头的,很醒人耳目,只有Release例外
                   2.1.1  System_Initiate          初始化 软硬件的
                   2.1.2  System_Shutdown    关闭当前窗口,恢复视频/音频状态,释放所有的分配资源
                   2.1.3  System_Start    开始运行设定好的框架函数. (帧/渲染等自定义函数)
                   2.1.4  System_GetErrorMessage   返回HGE出错信息
                   2.1.5  System_Log               自定义日志文件中写入格式信息,程序编译/运行出错,日志文件都会有文字描述错误信息
                   2.1.6  System_Launch         执行 一段链接或者可运行程序,实现机理是ShellExecute
                   2.1.7  System_Snapshot     实现方式是 按特定的文件路径通配符找到 ,如果当前路径下不存在这样文件,则以shot+ 编号+.dmp格式保存文件名,使用D3D的api
    ——D3DXSaveSurfaceToFile保存

      2.2  Resource 资源函数

2

               2.2.1   Resource_Load             从磁盘加载资源到内存. 

               2.2.2   Resource_Free              从内存中将先前存储的资源删除掉. 

               2.2.3   Resource_AttachPack      配置一个资源包. 

               2.2.4   Resource_RemovePack   移除一个资源包. 

               2.2.5   Resource_RemoveAllPacks   移除所有之前加载的资源包. 

               2.2.6    Resource_MakePath     建立绝对的文件路径. 

               2.2.7    Resource_EnumFiles     按特定的通配符列举文件. 

               2.2.8    Resource_EnumFolders    按特定的通配符列举文件夹.

    2.3  Config File 配置文件函数

3

               2.3.1      Ini_SetInt        将整型值写入初始化文件. 

               2.3.2      Ini_GetInt        从初始化文件中读取一个整型值. 

               2.3.3      Ini_SetFloat    将浮点型值写入初始化文件. 

               2.3.4      Ini_GetFloat    从初始化文件中读取一个浮点行值. 

               2.3.5      Ini_SetString    将一个字符串写入初始化文件. 

               2.3.6      Ini_GetString    从初始化文件中读取一个字符串值.



2.4  Random   随机数函数

4

                    2.4.1         Random_Seed    确立随机发生数的种子. 

                    2.4.2         Random_Int        获得一个整型随机数. 

                    2.4.3         Random_Float    获得一个浮点行随机数.

    2.5   Time Slice 时间片函数

5

            2.5.1          Timer_GetTime    返回使用System_Initiate函数命令的时间. 
            2.5.2          Timer_GetDelta    返回最后一次调用框架的时间.
            2.5.3    Timer_GetFPS      返回最近的FPS速率.

— 未完待续…

  • 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
发出的红包

打赏作者

鱼弦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值