# hge for aardio **Repository Path**: tanhunu/hge-for-aardio ## Basic Information - **Project Name**: hge for aardio - **Description**: hge游戏引擎 aardio版 - **Primary Language**: Lua - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 4 - **Created**: 2016-06-09 - **Last Updated**: 2025-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #hge for aardio >=10 原库开源作者lujjjh。 >GitHub - lujjjh/HGE-for-AAuto https://github.com/lujjjh/HGE-for-AAuto 以前接手过本库。用过一段时间并共享了不少例程。不过以前写的太涂鸦式填充没有一个总思路。本次库依据layabox的思路重新对hge进行了规整,多亏了layabox治好了我多年的脑盲,让我豁然开朗。`请使用release里面的发布版本。没有加入到release说明还没写好。` >注意这里是c++修改过的版本。大部分的地方改动较大。里面个人精简掉了许多所以才99kb。如果使用不正常先检查电脑是否安装dx9。比较依赖dx9。就算是自带了更高版本。还是需要安装dx9(这个游戏玩得多的都明白的),如果对该项目或已经用了该项目感觉不错。请点击下方`捐赠`支持开源关于本hge引擎,帧率有限制60不变。不过并不代表引擎的性能。代码还有很多没有规整化。 --- - [x] 新概念节点式对象操作的概念 - [x] 精灵 - [x] 序列动画 - [x] 碎图片动画 - [x] 矩形碰撞 - [x] 添加zip文件直读 - [x] bass音效库 - [x] dc纹理画布 - [x] gdi文字 - [x] 九宫格切片 - [x] 多边形碰撞 - [x] 添加layaboxUI编辑器可视化支持 - [x] tiledMap地图编辑器支持支持图层与碰撞物体 - [x] 支持编辑框 - [x] 多态按钮 - [x] 多态单选按钮 - [x] 模态模式 (推荐写法:建议写之前分成大类区分。当弹出窗体时禁用需要禁止响应的父节点。就可以实现模态的写法。更具有可控性) - [x] loader 网络数据异步资源加载器 - [x] tween 补间动画 - [ ] tweenLine 路径动画 - [ ] gif动画支持 - [ ] 异步高效服务端和客户端 - [ ] 支持粒子 - [ ] box2d ## 安装/升级hge >新建一个空白文件。复制下面的代码。运行即可 ```js import sevenZip.lzma.httpFile; sevenZip.lzma.httpFile.download("http://tanhunu.gitee.io/hge-for-aardio/hge.tar.lzma@1.0") ``` ## 教程 > [aardio类编技巧之游戏开发实战](https://www.kancloud.cn/qqqqqq/aardio) ## 例子 ### 空白窗体调用事例(可参考里面的例程) ```js import win.ui; import hge; /*DSG{{*/ mainForm = ..win.form(text="空白窗体";right=799;bottom=599) mainForm.add() /*}}*/ game = hge.createEngine(mainForm) mainForm.show() return win.loopMessage(); ``` ### 显示精灵 ```js import win.ui; import hge; /*DSG{{*/ mainForm = ..win.form(text="特勤队3";right=799;bottom=599) mainForm.add() /*}}*/ game = hge.createEngine(mainForm) var tex = game.textureLoad("\res\tip.png"); //加载本地纹理或内存纹理 var sprite = game.addChild( game.sprite(tex) ) //根据纹理创建精灵。并且添加到game画布中。返回参数1( 精灵 ) mainForm.show() return win.loopMessage(); ```` ### 可视化编辑器支持 ```js import win.ui; import hge; import hge; import hge.layaboxUI; /*DSG{{*/ var winform = ..win.form(text="layaboxUI支持";right=800;bottom=600) winform.add() /*}}*/ game = hge.createEngine(winform) var layout =/* */ ui = hge.layaboxUI(game,layout); game.addChild(ui); winform.show() win.loopMessage(); ``` ![hge-layout](http://ishout.top/pic/QQ%E6%88%AA%E5%9B%BE20170102113052.png) ![hge-layout2](http://ishout.top/pic/QQ%E6%88%AA%E5%9B%BE20170102113237.png) --- ## API ### hge 游戏引擎 ####函数 > hge >* hge.createEngine( 窗体对象 )创建引擎对象,绘制在该对象客户区域。返回game对象。 > game >* game.textureLoad(地址) 加载纹理 >* game.sprite(纹理)创建精灵 >* game.setProjectionMatrix(宽,高) 重新指定正交投影宽高(修改分辨率) >对象 >* 对象.addChild(子对象) 将子对象添加到对象中。 game为最根级对象。将其对象显示在画布中,返回子对象 >* 对象.removeChild(子对象) 移除该子对象 >* 对象.on(监听事件名,函数体) 监听该参考事件常量_hge_event_xxx 函数体内返回false则取消该事件监听 >* 对象.off(监听事件名,函数体) 移除监听该事件 >* 对象.close()移除该对象的显示 >* 对象.setZorder(子对象,次序)调整子对象渲染次序 如果不填写子对象则改变本对象在父对象中的渲染顺序 >* 对象.getZorder(子对象)获取子对象渲染次序 如果不填写子对象则获取本对象在父对象中的渲染顺序 >* 对象.event(事件名,参数...)投递事件 >* 对象.parent 父对象 >* 对象.x x坐标 >* 对象.x y坐标 >event事件常量 >* _hge_event_update 更新事件 >* _hge_event_render 渲染事件 >* _hge_event_mousemove 相对容器坐标移动事件 参数x,y