一 开篇介绍
现在开始解读HGE接口类(Interface class)的一些公共函数
正如在上一篇文章中提到的,使用的公共函数调用方式都是CALL(不记得可以翻看),纯虚虚函数基本都是由hge_impl.h继承的,部分内联函数是hge.h自身实现的,比如说System_SetState相关重载函数,其他的实现的都在子类的cpp中实现,其中有人也许会有疑问: 为啥在hge中会有私有的纯虚函数?其实私有和公共关系并不大,virtual机制是dynamic的,发生在运行时,访问权限是静态的(static),程序编译的时候作用,两者的关系影响并没多少,如果没有特殊的使用,父类和子类的访问权限可以交换使用。
二 函数解读
2.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.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 配置文件函数
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 随机数函数
2.4.1 Random_Seed 确立随机发生数的种子.
2.4.2 Random_Int 获得一个整型随机数.
2.4.3 Random_Float 获得一个浮点行随机数.
2.5 Time Slice 时间片函数
2.5.1 Timer_GetTime 返回使用System_Initiate函数命令的时间.
2.5.2 Timer_GetDelta 返回最后一次调用框架的时间.
2.5.3 Timer_GetFPS 返回最近的FPS速率.
— 未完待续…