一种lua脚本扩展系统及其运行方法

文档序号:9506034阅读:747来源:国知局
一种lua脚本扩展系统及其运行方法
【技术领域】
[0001]本发明涉及计算机应用领域,尤其是一种LUA脚本扩展系统及其运行方法。
【背景技术】
[0002]随着移动互联网的兴起,手机软件开发技术得到快速发展,移动软件如APP、游戏等为了实现自动更新以及开发的敏捷性,经常要调用LUA脚本系统,游戏的服务器领域也需要使用LUA脚本系统来开发配置、任务、AI等功能。
[0003]通常,移动软件使用C++、JAVA等开发技术开发,但是这些传统开发技术具有如下缺点:
[0004]1、开发效率低,不够敏捷,传统的开发技术需要编译连接后运行,出错后不易调试,移动互联网往往要求功能迭代迅速,传统开发技术难以适应快速迭代的需求。
[0005]2、普通移动软件更新,用户必须下载新的安装包,重新安装。如果出现程序漏洞,那么用户的程序不能立即得到修复。
[0006]3、脚本系统可以极大的解决上面两个问题,但是脚本系统的API是过程式的,而非开发者都熟悉的面向对象式。
[0007]4、脚本系统的API晦涩繁琐,一旦使用错误,排错困难。
[0008]5、游戏服务器中也会使用脚本系统,直接使用脚本系统API会导致系统难以维护。

【发明内容】

[0009]本发明的目的在于提供一种LUA脚本扩展系统及其运行方法,以解决以上问题,提尚软件开发效率。
[0010]为了达到上述目的,本发明提供了一种LUA脚本扩展系统及其运行方法,其中,所述LUA脚本扩展系统封装了 LUA脚本系统,并提供面向对象接口。
[0011]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统封装了所述LUA脚本系统的dofile操作,以直接调用所述LUA脚本系统的脚本文件。
[0012]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统封装了所述LUA脚本系统的dosting接口,以直接调用所述LUA脚本系统的脚本语句。
[0013]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统封装了所述LUA脚本系统的函数接口,以直接调用所述LUA脚本系统的脚本函数。
[0014]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统中的一个函数同时可使用多个参数。
[0015]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统的一个函数最多同时使用九个参数。
[0016]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统使用C++开发,提供面向对象的C++接口。
[0017]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统使用C++泛型技术,支持C++的普通类型和STL类型。
[0018]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统将C++的类和接口导入到所述LUA脚本系统的接口,使得所述LUA脚本系统调用应用程序编程接口 API。
[0019]优选的,在上述的LUA脚本扩展系统中,所述LUA脚本扩展系统提供热更新接口,以实现运行期间重载LUA脚本系统。
[0020]本发明还提供了一种如上所述LUA脚本扩展系统的运行方法,包括:
[0021 ] 使用所述LUA脚本扩展系统调用LUA脚本系统;以及
[0022]使用所述LUA脚本扩展系统调用面向对象系统。
[0023]优选的,在上述的LUA脚本扩展系统的运行方法中,使用所述LUA脚本扩展系统调用LUA脚本系统包括:
[0024]准备LUA脚本系统开发包;
[0025]引入所述LUA脚本扩展系统的类库;
[0026]设定LUA脚本系统的脚本文件的存储路径;
[0027]获取和设置所述脚本文件的全局变量;
[0028]执行所述LUA脚本系统的脚本语句;
[0029]执行所述LUA脚本系统的脚本文件;
[0030]调用所述LUA脚本系统的脚本函数。
[0031 ] 优选的,在上述的LUA脚本扩展系统的运行方法中,在调用所述LUA脚本系统的脚本函数的过程中,支持泛型参数,且同时可支持多个参数。
[0032]优选的,在上述的LUA脚本扩展系统的运行方法中,在调用所述LUA脚本系统的脚本函数的过程中,最多可同时支持九个参数。
[0033]优选的,在上述的LUA脚本扩展系统的运行方法中,在调用所述LUA脚本系统的脚本函数的过程中,可以指定返回值类型,所述返回值类型包括泛型。
[0034]优选的,在上述的LUA脚本扩展系统的运行方法中,使用所述LUA脚本扩展系统调用面向对象系统包括:
[0035]准备LUA脚本系统开发包;
[0036]引入所述LUA脚本扩展系统的类库;
[0037]设定LUA脚本系统的脚本文件的存储路径;
[0038]编写需要导入到所述LUA脚本系统中的C++类;
[0039]向所述LUA脚本系统中导入所述C++类;
[0040]向所述LUA脚本系统中导入所述C++类的函数。
[0041]优选的,在上述的LUA脚本扩展系统的运行方法中,还包括:向所述LUA脚本系统中导入全局的C++函数。
[0042]在本发明提供的一种LUA脚本扩展系统及其运行方法中,所述LUA脚本扩展系统封装了 LUA脚本系统,可以直接嵌入所述LUA脚本系统而无需依赖其他类库,提高了开发效率。并提供友好的面向对象接口,无需了解所述LUA脚本系统的细枝末节,减轻了软件开发负担,提高了开发效率。
【附图说明】
[0043]图1为本发明实施例中LUA脚本扩展系统调用LUA脚本系统的流程图使用;
[0044]图2为本发明实施例中使用LUA脚本扩展系统调用面向对象系统的流程图。
【具体实施方式】
[0045]下面将结合示意图对本发明的【具体实施方式】进行更详细的描述。根据下列描述和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0046]本发明实施例提供了一种LUA脚本扩展系统及其运行方法,其中,所述LUA脚本扩展系统封装了 LUA脚本系统,并提供面向对象接口。
[0047]具体的,在本实施例中,所述LUA脚本扩展系统使用C++开发,提供面向对象的C++接口。因此,所述LUA脚本扩展系统使用C++泛型技术,支持C++的普通类型和STL类型。进一步的,自定义类型也可以通过所述LUA脚本扩展系统的泛型能力得到支持。进一步的,所述LUA脚本扩展系统使用C++开发,在调用时不依赖其他类库,实现跨平台开发。既可以在移动终端的Android、10S系统上使用,也可以在PC机的Windows、Linux系统上使用。提供友好的面向对象的C++接口,使得无需了解所述LUA脚本系统的API也可以实现对所述LUA脚本系统的调用。
[0048]所述LUA脚本扩展系统封装了所述LUA脚本系统的dofile操作,以直接调用所述LUA脚本系统的脚本文件。所述LUA脚本扩展系统还封装了所述LUA脚本系统的dosting接口,以直接调用所述LUA脚本系统的脚本语句。
[0049]进一步的,所述LUA脚本扩展系统还封装了所述LUA脚本系统的函数接口,即封装了调用所述LUA脚本系统的脚本函数的接口,以直接调用所述LUA脚本系统的脚本函数。
[0050]具体的,所述LUA脚本扩展系统中的一个函数同时可使用多个参数。因为在C++中,每个函数最多支持九个参数,因此,所述LUA脚本扩展系统的一个函数最多同时也使用九个参数。
[0051]更进一步的,所述LUA脚本扩展系统将C++的类和接口导入到所述LUA脚本系统的接口,使得所述LUA脚本系统调用应用程序编程接口 API。也就说,不仅可以利用C++编程语言调用所述LUA脚本系统,还可以在LUA脚本系统下调用C++的类和函数。具体的,所述LUA脚本系统通过所述LUA脚本扩展系统所导入的C++类和接口调用C++的类和函数。
[0052]所述LUA脚本扩展系统还提供了热更新接口,以实现运行期间重载所述LUA脚本系统。即,在游戏服务器软件中,可以实现在不停机的情况下,更新系统功能。
[0053]本发明还提供了一种LUA脚本扩展系统的运行方法,包
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1