[发明专利]基于引擎Lua脚本应用和引擎与Lua脚本相互调用方法及装置有效
申请号: | 201410537544.1 | 申请日: | 2014-10-13 |
公开(公告)号: | CN104317578B | 公开(公告)日: | 2017-12-05 |
发明(设计)人: | 张翼 | 申请(专利权)人: | 无锡梵天信息技术股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京品源专利代理有限公司11332 | 代理人: | 邓猛烈,孟金喆 |
地址: | 214000 江苏省无锡市新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 引擎 lua 脚本 应用 相互 调用 方法 装置 | ||
技术领域
本发明涉及计算机软件领域,尤其涉及一种基于引擎Lua脚本应用和引擎与Lua脚本相互调用方法及装置。
背景技术
引擎(Engine)是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。常见的程序引擎有游戏引擎、搜索引擎、杀毒引擎等。
在游戏中,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”
Lua是一个小巧的脚本语言。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。Lua提供了非常易于使用的扩展接口和机制,几乎在所有操作系统和平台上都可以编译和运行。
在程序开发中,一部分事件会注册在Lua脚本中,另一部分则注册在引擎中,由系统在执行中执行嵌套调用。在程序修改调试时,由于事件函数经常在Lua脚本与引擎之间相互调用,杂乱无章、会使程序员感觉无从下手;此外,现有的程序开发周期较短,后期维护升级次数较多,事件注册分散在Lua脚本与引擎中会给升级维护带来极大的麻烦。
有鉴于此,如何能将引擎封装并提供的相应接口使得Lua脚本与引擎之间能够相互调用是当前所要解决的问题。
发明内容
本发明的目的在于提出一种基于引擎Lua脚本应用方法和Lua脚本与引擎相互调用的方法及装置,利用LUA脚本编写游戏上层逻辑事件处理机制和UI(界面设计)部分事件,能够封装引擎并通过提供相应的接口供Lua脚本与引擎进行交互,避免引擎与Lua脚本中的事件嵌套调用,有效的降低引擎中各个模块之间的耦合度,由于其独立性,同时也可以从游戏中分离应用与其他的多款游戏中,有利于提高开发的效率,也方便游戏的升级和更新。
第一方面,本发明实施例提供了一种基于引擎高效的Lua脚本应用方法,包括:
在Lua脚本中注册所有事件;
在引擎中定义发送列表和接收列表;
插入事件消息及该事件消息对应的回调函数到接收列表;
插入事件消息到发送列表中;
第二方面,本发明实施例提供了一种基于引擎高效的Lua脚本应用的装置,包括:
注册单元,用于在Lua脚本中注册所有事件;
定义单元,用于在引擎中定义发送列表和接收列表;
接收列表插入单元,用于插入事件消息及该事件消息对应的回调函数到接收列表;
发送列表插入单元,用于插入事件消息到发送列表中;
采用本实施例所提供的技术方案,能够封装引擎并通过提供相应的接口供Lua脚本与引擎进行交互,避免引擎与Lua脚本中的事件嵌套调用,有效的降低引擎中各个模块之间的耦合度。
第三方面,本发明实施例提供了一种Lua脚本与引擎相互调用的方法,包括:
在Lua脚本中注册所有事件;
在引擎中定义发送列表和接收列表;
插入事件消息及该事件消息对应的回调函数到接收列表;
插入事件消息到发送列表中;
遍历发送列表,确定接收列表与发送列表事件名相同,调用接收列表的该事件的回调函数。
第四方面,本发明实施例还提供了一种Lua脚本与引擎相互调用的装置,包括:
注册单元,用于在Lua脚本中注册所有事件;
定义单元,用于在引擎中定义发送列表和接收列表;
接收列表插入单元,用于插入事件消息及该事件消息对应的回调函数到接收列表;
发送列表插入单元,用于插入事件消息到发送列表中;
遍历单元,用于遍历发送列表;
调用处理单元,用于确定接收列表与发送列表事件名相同,调用接收列表的该事件的回调函数。
采用本实施例所提供的技术方案,能够实现在引擎封装的基础上,通过相应的接口使Lua脚本与引擎进行交互,借助Lua的轻量级、可拓展的优点降低开发过程中开发成本及风险,提高了开发的效率。
附图说明
图1是本发明第一实施例提供的基于引擎Lua脚本应用方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡梵天信息技术股份有限公司,未经无锡梵天信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410537544.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高密度互联电路板化学药水药桶开盖装置
- 下一篇:一种块状物转运车